Loading...
Searching...
No Matches
casacore::CompoundFunction_PS< AutoDiff< T > > Class Template Reference

Partial AutoDiff specialization of CompoundFunction. More...

`#include <CompoundFunction.h>`

## Public Member Functions

| CompoundFunction_PS ()
| The default constructor – no functions, no parameters, nothing, the function operator returns a 0.
| CompoundFunction_PS (const CompoundFunction_PS< AutoDiff< T > > &other)
| Make this object a (deep) copy of other.
template<class W>
| CompoundFunction_PS (const CompoundFunction_PS< W > &other)
CompoundFunction_PS< AutoDiff< T > > & | operator= (const CompoundFunction_PS< AutoDiff< T > > &other)
| Make this object a (deep) copy of other.
virtual | ~CompoundFunction_PS ()
| Destructor.
virtual AutoDiff< T > | eval (typename Function< AutoDiff< T > >::FunctionArg x) const
| Evaluate the function and its derivatives at x wrt to the coefficients.
uInt | addFunction (const Function< AutoDiff< T > > &newFunction)
| Add a function to the sum.
CompoundFunction_PS< AutoDiff< T > > & | consolidate ()
| Consolidate the parameter settings.
virtual Function< AutoDiff< T > > * | clone () const
| Return a copy of this object from the heap.
virtual Function< typename FunctionTraits< AutoDiff< T > >::DiffType > * | cloneAD () const
virtual Function< typename FunctionTraits< AutoDiff< T > >::BaseType > * | cloneNonAD () const
Public Member Functions inherited from casacore::CompoundParam< AutoDiff< T > >
| CompoundParam ()
| The default constructor – no functions, no parameters, nothing, the function operator returns a 0.
CompoundParam< T > & | operator= (const CompoundParam< T > &other)
virtual | ~CompoundParam ()
virtual const String & | name () const
| Give name of function.
uInt | addFunction (const Function< T > &newFunction)
| Add a function to the sum.
uInt | nFunctions () const
| Return the number of functions in the sum.
const Function< T > & | function (uInt which) const
| Return a reference to a specific Function.
uInt | parameterOffset (uInt which) const
| Get the offset in function parameterlist for function which.
uInt | parameterFunction (uInt which) const
| Get the function number belonging to parameter list element which.
uInt | parameterLocation (uInt which) const
| Return locpar.
virtual uInt | ndim () const
| Returns the dimension of functions in the linear combination.
Public Member Functions inherited from casacore::Function< T, U >
| Function ()
| Constructors.
| 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.
uInt | nparameters () const
| Returns the number of parameters.
virtual U | eval (FunctionArg x) const =0
| Evaluate the function object.
T & | operator[] (const uInt n)
| Manipulate the nth parameter (0-based) with no index check.
const T & | operator[] (const uInt n) const
virtual U | operator() () const
| Evaluate this function object at xor at x, y.
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.
const Bool & | mask (const uInt n) const
const FunctionParam< T > & | parameters () const
| Return the parameter interface.
FunctionParam< T > & | parameters ()
const Vector< ArgType > & | argp () const
| Get arg_p and parset_p.
Bool | parsetp () const
void | lockParam ()
| Compiler cannot always find the correct 'const' version of parameter access.
void | unlockParam ()
virtual void | setMode (const RecordInterface &mode)
| get/set the function mode.
virtual void | getMode (RecordInterface &mode) const
virtual Bool | hasMode () const
| return True if the implementing function supports a mode.
ostream & | print (ostream &os) const
| Print the function (i.e.
Public Member Functions inherited from casacore::Functional< FunctionTraits< T >::ArgType, T >
virtual | ~Functional ()
| Destructor.
virtual T | operator() (const FunctionTraits< T >::ArgType &x) const=0
| Map a Domain x into a Range y value.
Public Member Functions inherited from casacore::Functional< Vector< FunctionTraits< T >::ArgType >, T >
virtual | ~Functional ()
| Destructor.
virtual T | operator() (const Vector< FunctionTraits< T >::ArgType > &x) const=0
| Map a Domain x into a Range y value.

## Private Member Functions

void | fromParam_p () const
| Copy the local parameters to/from general block.
void | toParam_p ()
| Make the general block from local parameters.

## Additional Inherited Members

Public Types inherited from casacore::Function< T, U >
typedef FunctionTraits< T >::ArgType | ArgType
typedef const ArgType * | FunctionArg
Protected Attributes inherited from casacore::CompoundParam< AutoDiff< T > >
Block< Function< T > * > | functionPtr_p
| Pointer to each added function.
Block< uInt > | paroff_p
| Index of offset for each function to its parameters in general list.
Block< uInt > | funpar_p
| Index of function belonging to parameter.
Block< uInt > | locpar_p
| Index of local parameter.
Protected Attributes inherited from casacore::Function< T, U >
FunctionParam< T > | param_p
| The parameters and masks.
Vector< ArgType > | arg_p
| Aid for non-contiguous argument storage.
Bool | parset_p
| Indicate parameter written.
Bool | locked_p
| Indicate that parameters are expected to be locked from changing.

## Detailed Description

template<class T>
class casacore::CompoundFunction_PS< AutoDiff< T > >

Partial AutoDiff specialization of CompoundFunction.

### Synopsis

Warning: The name CompoundFunction_PS is only for cxx2html documentation problems; Use CompoundFunction in your code;

Definition at line 195 of file CompoundFunction.h.

## Constructor & Destructor Documentation

## CompoundFunction_PS() [1/3]

template<class T>

casacore::CompoundFunction_PS< AutoDiff< T > >::CompoundFunction_PS | ( |  | ) |

inline

The default constructor – no functions, no parameters, nothing, the function operator returns a 0.

Definition at line 202 of file CompoundFunction.h.

References casacore::CompoundParam< AutoDiff< T > >::CompoundParam().

Referenced by CompoundFunction_PS(), CompoundFunction_PS(), consolidate(), and operator=().

## CompoundFunction_PS() [2/3]

template<class T>

casacore::CompoundFunction_PS< AutoDiff< T > >::CompoundFunction_PS | ( | const CompoundFunction_PS< AutoDiff< T > > & | other | ) |

inline

Make this object a (deep) copy of other.

If parameters have been set without an intervening calculation, a consolidate() could be necessary on other first.

Definition at line 207 of file CompoundFunction.h.

References CompoundFunction_PS(), and casacore::CompoundParam< AutoDiff< T > >::CompoundParam().

## CompoundFunction_PS() [3/3]

template<class T>
template<class W>

casacore::CompoundFunction_PS< AutoDiff< T > >::CompoundFunction_PS | ( | const CompoundFunction_PS< W > & | other | ) |

inline

Definition at line 210 of file CompoundFunction.h.

References CompoundFunction_PS(), and casacore::CompoundParam< AutoDiff< T > >::CompoundParam().

## ~CompoundFunction_PS()

template<class T>

virtual casacore::CompoundFunction_PS< AutoDiff< T > >::~CompoundFunction_PS | ( |  | ) |

inline virtual

Destructor.

Definition at line 220 of file CompoundFunction.h.

## Member Function Documentation

## addFunction()

template<class T>

uInt casacore::CompoundFunction_PS< AutoDiff< T > >::addFunction | ( | const Function< AutoDiff< T > > & | newFunction | ) |

Add a function to the sum.

All functions must have the same ndim() as the first one. Returns the (zero relative) number of the function just added.

## clone()

template<class T>

virtual Function< AutoDiff< T > > * casacore::CompoundFunction_PS< AutoDiff< T > >::clone | ( |  | ) | const

inline virtual

Return a copy of this object from the heap.

The caller is responsible for deleting the pointer.

Implements casacore::Function< T, U >.

Definition at line 242 of file CompoundFunction.h.

References fromParam_p().

## cloneAD()

template<class T>

virtual Function< typename FunctionTraits< AutoDiff< T > >::DiffType > * casacore::CompoundFunction_PS< AutoDiff< T > >::cloneAD | ( |  | ) | const

inline virtual

Reimplemented from casacore::Function< T, U >.

Definition at line 245 of file CompoundFunction.h.

## cloneNonAD()

template<class T>

virtual Function< typename FunctionTraits< AutoDiff< T > >::BaseType > * casacore::CompoundFunction_PS< AutoDiff< T > >::cloneNonAD | ( |  | ) | const

inline virtual

Reimplemented from casacore::Function< T, U >.

Definition at line 249 of file CompoundFunction.h.

References casacore::True.

## consolidate()

template<class T>

CompoundFunction_PS< AutoDiff< T > > & casacore::CompoundFunction_PS< AutoDiff< T > >::consolidate | ( |  | ) |

inline

Consolidate the parameter settings.

This could be necessary if parameters have been set, and a copy constructor called. This is necessary before and after the setting of local parameters; i.e. the parameters of the individual functions.

Definition at line 237 of file CompoundFunction.h.

References CompoundFunction_PS(), fromParam_p(), and toParam_p().

## eval()

template<class T>

virtual AutoDiff< T > casacore::CompoundFunction_PS< AutoDiff< T > >::eval | ( | typename Function< AutoDiff< T > >::FunctionArg | x | ) | const

virtual

Evaluate the function and its derivatives at x wrt to the coefficients.

## fromParam_p()

template<class T>

void casacore::CompoundFunction_PS< AutoDiff< T > >::fromParam_p | ( |  | ) | const

private

Copy the local parameters to/from general block.

Referenced by clone(), consolidate(), and operator=().

## operator=()

template<class T>

CompoundFunction_PS< AutoDiff< T > > & casacore::CompoundFunction_PS< AutoDiff< T > >::operator= | ( | const CompoundFunction_PS< AutoDiff< T > > & | other | ) |

inline

Make this object a (deep) copy of other.

Definition at line 215 of file CompoundFunction.h.

References CompoundFunction_PS(), casacore::CompoundParam< AutoDiff< T > >::CompoundParam(), and fromParam_p().

## toParam_p()

template<class T>

void casacore::CompoundFunction_PS< AutoDiff< T > >::toParam_p | ( |  | ) |

private

Make the general block from local parameters.

References casacore::CompoundParam< AutoDiff< T > >::CompoundParam(), casacore::CompoundParam< AutoDiff< T > >::function(), casacore::CompoundParam< AutoDiff< T > >::functionPtr_p, casacore::CompoundParam< AutoDiff< T > >::funpar_p, casacore::CompoundParam< AutoDiff< T > >::locpar_p, casacore::CompoundParam< AutoDiff< T > >::nFunctions(), casacore::Function< T, U >::nparameters(), casacore::Function< T, U >::param_p, casacore::CompoundParam< AutoDiff< T > >::paroff_p, and casacore::Function< T, U >::parset_p.

Referenced by consolidate().

The documentation for this class was generated from the following file:

- scimath/Functionals/CompoundFunction.h