25#ifndef ROOT_Math_WrappedFunction
26#define ROOT_Math_WrappedFunction
55template<
typename Func = FreeFunctionPtr >
105template<
typename FuncObj,
typename MemFuncPtr >
153template<
typename Func = FreeMultiFunctionPtr >
174 unsigned int NDim()
const override {
return fDim; }
180 double DoEval (
const double *
x)
const override {
192template<
typename FuncObj,
typename MemFuncPtr >
215 unsigned int NDim()
const override {
return fDim; }
219 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)
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.