Functor Handler class for gradient functions where both callable objects are provided for the function evaluation (type Func) and for the gradient (type GradFunc) .
It can be created from any function implementing the correct signature corresponding to the requested type In the case of one dimension the function evaluation object and the derivative function object must implement double operator() (double x). In the case of multi-dimension the function evaluation object must implement double operator() (const double * x) and the gradient function object must implement double operator() (const double * x, int icoord)
Public Member Functions | |
FunctorGradHandler (const Func &fun, const GradFunc &gfun) | |
FunctorGradHandler (unsigned int dim, const Func &fun, const GradFunc &gfun) | |
virtual | ~FunctorGradHandler () |
BaseFunc * | Clone () const |
ImplFunc * | Copy () const |
unsigned int | NDim () const |
Private Types | |
typedef ImplFunc::BaseFunc | BaseFunc |
typedef ParentFunctor::Impl | ImplFunc |
Private Member Functions | |
double | DoDerivative (const double *x, unsigned int icoord) const |
double | DoDerivative (double x) const |
double | DoEval (const double *x) const |
double | DoEval (double x) const |
Private Attributes | |
unsigned int | fDim |
Func | fFunc |
GradFunc | fGradFunc |
#include <Math/Functor.h>
|
private |
|
private |
|
inline |
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inline |
|
private |
|
mutableprivate |
|
mutableprivate |