25 #ifndef ROOT_Math_WrappedFunction 26 #define ROOT_Math_WrappedFunction 28 #ifndef ROOT_Math_IFunction 57 template<
typename Func = FreeFunctionPtr >
107 template<
typename FuncObj,
typename MemFuncPtr >
132 return ((*fObj).*fMemFunc)(
x );
155 template<
typename Func = FreeMultiFunctionPtr >
176 unsigned int NDim()
const {
return fDim; }
182 virtual double DoEval (
const double *
x)
const {
194 template<
typename FuncObj,
typename MemFuncPtr >
217 unsigned int NDim()
const {
return fDim; }
221 virtual double DoEval (
const double *
x)
const {
222 return ((*fObj).*fMemFunc)(
x );
239 #endif // ROOT_Math_WrappedFunction virtual double DoEval(const double *x) const
Implementation of the evaluation function.
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
virtual double DoEval(double x) const
implementation of the evaluation function. Must be implemented by derived classes ...
WrappedMemFunction(FuncObj &obj, MemFuncPtr memFn)
construct from the pointer to the object and the member function
WrappedMultiFunction(Func f, unsigned int dim=1)
construct from the pointer to the object and the member function
double(* FreeFunctionPtr)(double)
Template class to wrap any C++ callable object which takes one argument i.e.
WrappedMultiFunction * Clone() const
clone (required by the interface)
virtual double DoEval(double x) const
implementation of the evaluation function. Must be implemented by derived classes ...
WrappedMemFunction * Clone() const
clone (required by the interface)
virtual double DoEval(const double *x) const
Implementation of the evaluation function.
IParamFunction interface (abstract class) describing multi-dimensional parameteric functions It is a ...
WrappedFunction(Func f)
construct from the pointer to the object and the member function
unsigned int NDim() const
Retrieve the dimension of the function.
Template class to wrap any C++ callable object implementing operator() (const double * x) in a multi-...
Namespace for new Math classes and functions.
WrappedMemMultiFunction(FuncObj &obj, MemFuncPtr memFn, unsigned int dim=1)
construct from the pointer to the object and the member function
WrappedFunction * Clone() const
clone (required by the interface)
WrappedMemMultiFunction * Clone() const
clone (required by the interface)
double(* FreeMultiFunctionPtr)(const double *)
unsigned int NDim() const
Retrieve the dimension of the function.
Documentation for the abstract class IBaseFunctionMultiDim.
Template class to wrap any member function of a class taking a double and returning a double in a 1D ...