14#ifndef ROOT_Math_WrappedFunction
15#define ROOT_Math_WrappedFunction
44template<
typename Func = FreeFunctionPtr >
94template<
typename FuncObj,
typename MemFuncPtr >
142template<
typename Func = FreeMultiFunctionPtr >
163 unsigned int NDim()
const override {
return fDim; }
169 double DoEval (
const double *
x)
const override {
181template<
typename FuncObj,
typename MemFuncPtr >
204 unsigned int NDim()
const override {
return fDim; }
208 double DoEval (
const double *
x)
const override {
Documentation for the abstract class IBaseFunctionMultiDim.
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
Template class to wrap any C++ callable object which takes one argument i.e.
double DoEval(double x) const override
implementation of the evaluation function. Must be implemented by derived classes
WrappedFunction * Clone() const override
clone (required by the interface)
WrappedFunction(Func f)
construct from the pointer to the object and the member function
Template class to wrap any member function of a class taking a double and returning a double in a 1D ...
double DoEval(double x) const override
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
WrappedMemFunction * Clone() const override
clone (required by the interface)
WrappedMemMultiFunction * Clone() const override
clone (required by the interface)
WrappedMemMultiFunction(FuncObj &obj, MemFuncPtr memFn, unsigned int dim=1)
construct from the pointer to the object and the member function
double DoEval(const double *x) const override
unsigned int NDim() const override
Retrieve the dimension of the function.
Template class to wrap any C++ callable object implementing operator() (const double * x) in a multi-...
WrappedMultiFunction(Func f, unsigned int dim=1)
construct from the pointer to the object and the member function
WrappedMultiFunction * Clone() const override
clone (required by the interface)
double DoEval(const double *x) const override
unsigned int NDim() const override
Retrieve the dimension of the function.
Namespace for new Math classes and functions.
double(* FreeMultiFunctionPtr)(const double *)
double(* FreeFunctionPtr)(double)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...