9 #include "AIDA/IFunction.h" 17 namespace GaudiMathImplementation
22 , m_arg ( fun.dimension() , 0 )
43 return Genfun::FunctionNoop( &aux ) ;
46 return Genfun::FunctionNoop ( &aux ) ;
57 {
return m_func ( x , 0 ) ; }
60 {
return m_func ( x[0] , x[1] ) ; }
63 const double y )
const 64 {
return m_func ( x , y ) ; }
71 return Genfun::FunctionNoop( &aux ) ;
74 return Genfun::FunctionNoop( &aux ) ;
84 {
return m_func ( x , 0 , 0 ) ; }
87 {
return m_func ( x[0] , x[1] , x[2] ) ; }
91 const double z )
const 92 {
return m_func ( x , y , z ) ; }
99 return Genfun::FunctionNoop ( &aux ) ;
102 return Genfun::FunctionNoop ( &aux ) ;
154 return Genfun::FunctionNoop( &aux ) ;
157 return Genfun::FunctionNoop( &aux ) ;
166 [&](
const Function1&
fun) {
return (*fun)(value); },
167 [&](
const Function2&
fun) {
m_arg[0] = value ;
170 [&](
const Function3&
fun) {
m_arg[0] = value ;
172 return (*fun) (
m_arg ) ; } );
182 [&](
const Function1& f) {
return (*f)(argument[0]); },
183 [&](
const Function2& f) {
for (
size_t i = 0; i <
m_arg.
size(); ++i ) {
m_arg[i] = argument[i] ; }
185 [&](
const Function3& f) {
for (
size_t i = 0; i <
m_arg.
size(); ++i ) {
m_arg[i] = argument[i] ; }
186 return (*f)(
m_arg ); } );
Genfun::Derivative partial(unsigned int i) const override
Derivatives.
Genfun::Derivative partial(unsigned int i) const override
Derivatives.
double operator()(double x) const override
double(* Function1)(const double)
Genfun::Derivative partial(unsigned int i) const override
Derivatives.
Genfun::Derivative partial(unsigned int i) const override
Derivatives.
double operator()(double) const override
Function value.
AdapterIFunction(const AIDA::IFunction &fun)
mandatory macro from CLHEP/GenericFunctions
Genfun::GaudiMathImplementation::NumericalDerivative Derivative
auto begin(reverse_wrapper< T > &w)
double operator()(double a) const override
SimpleFunction(Function1 func)
From CLHEP/GenericFunctions.
auto end(reverse_wrapper< T > &w)
Numerical derivative (using GSL adaptive numerical differentiation)
double operator()(double x) const override
const AIDA::IFunction * m_fun
std::vector< double > m_arg
double fun(const std::vector< double > &x)
double(* Function2)(const double *)
Adapter2DoubleFunction(Function func)
mandatory macro from CLHEP/GenericFunctions
double(* Function3)(const std::vector< double > &)
double(* Function)(const double, const double)
the actual type of the function "to be adapted"
Adapter3DoubleFunction(Function func)
mandatory macro from CLHEP/GenericFunctions
double(* Function)(const double, const double, const double)
the actual type of the function "to be adapted"
Genfun::GaudiMathImplementation::Constant Constant
unsigned int dimensionality() const override