1 #ifndef GAUDIMATH_GSLFUNADAPTERS_H 2 #define GAUDIMATH_GSLFUNADAPTERS_H 1 10 #include "CLHEP/GenericFunctions/AbsFunction.hh" 11 #include "CLHEP/GenericFunctions/Argument.hh" 12 #include "CLHEP/GenericFunctions/GenericFunctions.hh" 20 #include "gsl/gsl_mode.h" 21 #include "gsl/gsl_sf_result.h" 25 #if defined( __clang__ ) || defined( __CLING__ ) 26 #pragma clang diagnostic push 27 #pragma clang diagnostic ignored "-Winconsistent-missing-override" 28 #elif defined( __GNUC__ ) && __GNUC__ >= 5 29 #pragma GCC diagnostic push 30 #pragma GCC diagnostic ignored "-Wsuggest-override" 35 namespace GaudiMathImplementation
44 typedef int ( *
Function )( double, gsl_sf_result* );
55 ~GSLFunctionWithError() override =
default;
57 double operator()(
double x ) const override;
58 double operator()( const Argument& x ) const override;
59 bool hasAnalyticDerivative()
const override {
return true; }
66 const gsl_sf_result& result()
const;
87 typedef double ( *
Function )( double, gsl_mode_t );
98 ~GSLFunctionWithMode() override =
default;
100 double operator()(
double x ) const override;
101 double operator()( const Argument& x ) const override;
102 bool hasAnalyticDerivative()
const override {
return true; }
108 const gsl_mode_t& mode()
const;
127 typedef int ( *
Function )( double, gsl_mode_t, gsl_sf_result* );
138 ~GSLFunctionWithModeAndError() override =
default;
140 double operator()(
double x ) const override;
141 double operator()( const Argument& x ) const override;
142 bool hasAnalyticDerivative()
const override {
return true; }
148 const gsl_mode_t& mode()
const;
150 const gsl_sf_result& result()
const;
152 double error()
const;
171 #if defined( __clang__ ) || defined( __CLING__ ) 172 #pragma clang diagnostic pop 173 #elif defined( __GNUC__ ) && __GNUC__ >= 5 174 #pragma GCC diagnostic pop 177 #endif // GAUDIMATH_GSLFUNADAPTERS_H Genfun::GaudiMathImplementation::GSLFunctionWithMode GSLFunctionWithMode
Genfun::GaudiMathImplementation::GSLFunctionWithError GSLFunctionWithError
std::unique_ptr< gsl_mode_t > m_mode
mandatory macro from CLHEP/GenericFunctions
Genfun::AbsFunction Function
unsigned int dimensionality() const override
Genfun::GaudiMathImplementation::NumericalDerivative Derivative
PropertyMgr & operator=(const PropertyMgr &)=delete
Genfun::GaudiMathImplementation::SimpleFunction GSLFunction
the actual type for primitive adaptor
mandatory macro from CLHEP/GenericFunctions
std::unique_ptr< gsl_sf_result > m_result
std::unique_ptr< gsl_mode_t > m_mode
std::unique_ptr< gsl_sf_result > m_result
Genfun::GaudiMathImplementation::GSLFunctionWithModeAndError GSLFunctionWithModeAndError
double fun(const std::vector< double > &x)
unsigned int dimensionality() const override
mandatory macro from CLHEP/GenericFunctions
unsigned int dimensionality() const override