casacore
|
Form a linear combination of function objects. More...
#include <CompiledFunction.h>
Public Member Functions | |
CompiledFunction () | |
The default constructor – no functions, no parameters, nothing, the function operator returns a 0. More... | |
CompiledFunction (const CompiledFunction< T > &other) | |
Make this object a (deep) copy of other. More... | |
template<class W > | |
CompiledFunction (const CompiledFunction< W > &other) | |
CompiledFunction< T > & | operator= (const CompiledFunction< T > &other) |
Make this object a (deep) copy of other. More... | |
virtual | ~CompiledFunction () |
Destructor. More... | |
virtual T | eval (typename Function< T >::FunctionArg x) const |
Evaluate the function at x . More... | |
virtual Function< T > * | clone () const |
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::CompiledParam< T > | |
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 > | |
Function () | |
Constructors. More... | |
Function (const uInt n) | |
Function (const Vector< T > &in) | |
Function (const FunctionParam< T > &other) | |
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... | |
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, U > | |
virtual | ~Functional () |
Destructor. More... | |
virtual U | 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 >, U > | |
virtual | ~Functional () |
Destructor. More... | |
virtual U | operator() (const Vector< FunctionTraits< T >::ArgType > &x) const =0 |
Map a Domain x into a Range y value. More... | |
Additional Inherited Members | |
Public Types inherited from casacore::Function< T > | |
typedef FunctionTraits< T > ::ArgType | ArgType |
typedef const ArgType * | FunctionArg |
Protected Attributes inherited from casacore::CompiledParam< T > | |
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 > | |
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... | |
Form a linear combination of function objects.
Public interface
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).
The CompiledParam class takes care of the parameter interface.
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=[1.9,2,2.1]
.
will produce the output:
This class was created to allow specialization of the function evaluation in a simple way.
Definition at line 131 of file CompiledFunction.h.
|
inline |
The default constructor – no functions, no parameters, nothing, the function operator returns a 0.
Definition at line 136 of file CompiledFunction.h.
|
inline |
Make this object a (deep) copy of other.
Definition at line 139 of file CompiledFunction.h.
|
inline |
Definition at line 142 of file CompiledFunction.h.
|
inlinevirtual |
Destructor.
Definition at line 150 of file CompiledFunction.h.
|
inlinevirtual |
Return a copy of this object from the heap.
The caller is responsible for deleting the pointer.
Implements casacore::Function< T >.
Definition at line 160 of file CompiledFunction.h.
|
inlinevirtual |
Reimplemented from casacore::Function< T >.
Definition at line 162 of file CompiledFunction.h.
|
inlinevirtual |
Reimplemented from casacore::Function< T >.
Definition at line 164 of file CompiledFunction.h.
|
virtual |
Evaluate the function at x
.
|
inline |
Make this object a (deep) copy of other.
Definition at line 146 of file CompiledFunction.h.
References casacore::CompiledParam< T >::operator=().