casacore
|
#include <CompiledParam.h>
Public Member Functions | |
CompiledParam () | |
The default constructor – no functions, no parameters, nothing, the function operator returns a 0. More... | |
CompiledParam (const CompiledParam< T > &other) | |
Make this object a (deep) copy of other. More... | |
template<class W > | |
CompiledParam (const CompiledParam< W > &other) | |
CompiledParam< T > & | operator= (const CompiledParam< T > &other) |
Make this object a (deep) copy of other. More... | |
virtual | ~CompiledParam () |
Destructor. More... | |
virtual const String & | name () const |
Give name of function. More... | |
Bool | setFunction (const String &newFunction) |
Set a function. More... | |
const String & | errorMessage () const |
Return the error message of the compilation. More... | |
const FuncExpression & | function () const |
Return the expression. More... | |
virtual uInt | ndim () const |
Returns the dimension of function. More... | |
const String & | getText () const |
Returns the text of the function string. More... | |
const FuncExpression * | getFunctionPtr () const |
Returns the function pointer (for debugging) More... | |
Public Member Functions inherited from casacore::Function< T, U > | |
Function () | |
Constructors. More... | |
Function (const uInt n) | |
Function (const Vector< T > &in) | |
Function (const FunctionParam< T > &other) | |
template<class W , class X > | |
Function (const Function< W, X > &other) | |
virtual | ~Function () |
Destructor. More... | |
uInt | nparameters () const |
Returns the number of parameters. More... | |
virtual U | eval (FunctionArg x) const =0 |
Evaluate the function object. More... | |
T & | operator[] (const uInt n) |
Manipulate the nth parameter (0-based) with no index check. More... | |
const T & | operator[] (const uInt n) const |
virtual U | operator() () const |
Evaluate this function object at x or at x, y . More... | |
virtual U | operator() (const ArgType &x) const |
virtual U | operator() (const Vector< ArgType > &x) const |
virtual U | operator() (FunctionArg x) const |
virtual U | operator() (const ArgType &x, const ArgType &y) const |
virtual U | operator() (const ArgType &x, const ArgType &y, const ArgType &z) const |
Bool & | mask (const uInt n) |
Manipulate the mask associated with the nth parameter (e.g. More... | |
const Bool & | mask (const uInt n) const |
const FunctionParam< T > & | parameters () const |
Return the parameter interface. More... | |
FunctionParam< T > & | parameters () |
const Vector< ArgType > & | argp () const |
Get arg_p and parset_p . More... | |
Bool | parsetp () const |
void | lockParam () |
Compiler cannot always find the correct 'const' version of parameter access. More... | |
void | unlockParam () |
virtual void | setMode (const RecordInterface &mode) |
get/set the function mode. More... | |
virtual void | getMode (RecordInterface &mode) const |
virtual Bool | hasMode () const |
return True if the implementing function supports a mode. More... | |
ostream & | print (ostream &os) const |
Print the function (i.e. More... | |
virtual Function< T, U > * | clone () const =0 |
Return a copy of this object from the heap. More... | |
virtual Function< typename FunctionTraits< T >::DiffType > * | cloneAD () const |
virtual Function< typename FunctionTraits< T >::BaseType > * | cloneNonAD () const |
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T > | |
virtual | ~Functional () |
Destructor. More... | |
virtual T | operator() (const FunctionTraits< T >::ArgType &x) const=0 |
Map a Domain x into a Range y value. More... | |
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T > | |
virtual | ~Functional () |
Destructor. More... | |
virtual T | operator() (const Vector< FunctionTraits< T >::ArgType > &x) const=0 |
Map a Domain x into a Range y value. More... | |
Protected Attributes | |
uInt | ndim_p |
Number of dimensions of underlying function. More... | |
String | msg_p |
Possible error message. More... | |
String | text_p |
Input text string. More... | |
FuncExpression * | functionPtr_p |
Pointer to function. More... | |
Protected Attributes inherited from casacore::Function< T, U > | |
FunctionParam< T > | param_p |
The parameters and masks. More... | |
Vector< ArgType > | arg_p |
Aid for non-contiguous argument storage. More... | |
Bool | parset_p |
Indicate parameter written. More... | |
Bool | locked_p |
Indicate that parameters are expected to be locked from changing. More... | |
Additional Inherited Members | |
Public Types inherited from casacore::Function< T, U > | |
typedef FunctionTraits< T >::ArgType | ArgType |
typedef const ArgType * | FunctionArg |
Parameters for a compiled string function object.
Internal
Given a string describing an expression (see FuncExpression class for details of the expression), the CompiledFunction
class wraps this expression as a Function (see Function class) which can be used in all places where functions can be used (e.g. see Fitting).
This class takes care of the CompiledFunction parameter interface (see FunctionParam class for details).
In the following example a Gaussian profile with three parameters (height, center and halfwidth) is specified and its value and derivatives with respect to the parameters are calculated at x=2
.
will produce the output:
This class was created to allow specialization of the function evaluation in a simple way.
Definition at line 106 of file CompiledParam.h.
casacore::CompiledParam< T >::CompiledParam | ( | ) |
The default constructor – no functions, no parameters, nothing, the function operator returns a 0.
casacore::CompiledParam< T >::CompiledParam | ( | const CompiledParam< T > & | other | ) |
Make this object a (deep) copy of other.
|
inline |
Definition at line 116 of file CompiledParam.h.
|
virtual |
Destructor.
|
inline |
Return the error message of the compilation.
Definition at line 138 of file CompiledParam.h.
References casacore::CompiledParam< T >::msg_p.
const FuncExpression& casacore::CompiledParam< T >::function | ( | ) | const |
Return the expression.
|
inline |
Returns the function pointer (for debugging)
Definition at line 150 of file CompiledParam.h.
References casacore::CompiledParam< T >::functionPtr_p.
|
inline |
Returns the text of the function string.
Definition at line 147 of file CompiledParam.h.
References casacore::CompiledParam< T >::text_p.
|
inlinevirtual |
Give name of function.
Reimplemented from casacore::Function< T, U >.
Definition at line 130 of file CompiledParam.h.
|
inlinevirtual |
Returns the dimension of function.
Implements casacore::Function< T, U >.
Definition at line 144 of file CompiledParam.h.
References casacore::CompiledParam< T >::ndim_p.
CompiledParam<T>& casacore::CompiledParam< T >::operator= | ( | const CompiledParam< T > & | other | ) |
Make this object a (deep) copy of other.
Referenced by casacore::CompiledFunction< T >::operator=().
Bool casacore::CompiledParam< T >::setFunction | ( | const String & | newFunction | ) |
Set a function.
The return will be False (and an error message will be set) if a compilation error occurs
|
protected |
Pointer to function.
Definition at line 163 of file CompiledParam.h.
Referenced by casacore::CompiledParam< T >::getFunctionPtr().
|
protected |
Possible error message.
Definition at line 158 of file CompiledParam.h.
Referenced by casacore::CompiledParam< T >::errorMessage().
|
protected |
Number of dimensions of underlying function.
Definition at line 156 of file CompiledParam.h.
Referenced by casacore::CompiledParam< T >::ndim().
|
protected |
Input text string.
Definition at line 160 of file CompiledParam.h.
Referenced by casacore::CompiledParam< T >::getText().