40#include "gsl/gsl_chebyshev.h"
98 return gsl_cheb_eval(
fSeries->get(),
x);
103 double result, error;
104 gsl_cheb_eval_err(
fSeries->get(),
x, &result, &error);
105 return std::make_pair( result, error);
110 return gsl_cheb_eval_n(
fSeries->get(),
n,
x);
115 double result, error;
116 gsl_cheb_eval_n_err(
fSeries->get(),
n,
x, &result, &error);
117 return std::make_pair( result, error);
ChebyshevApprox * Integral()
Compute the integral of the series and return a pointer to a new Chebyshev series with the integral c...
std::pair< double, double > EvalErr(double x) const
Evaluate the series at a given point x estimating both the series result and its absolute error.
double operator()(double x) const
Evaluate the series at a given point x.
ChebyshevApprox(const ROOT::Math::IGenFunction &f, double a, double b, size_t n)
Construct a Chebyshev series approximation to a Function f in range [a,b]; constructor based on funct...
void Initialize(GSLFuncPointer f, void *params, double a, double b)
Initialize series passing function and range.
virtual ~ChebyshevApprox()
ChebyshevApprox * Deriv()
Compute the derivative of the series and return a pointer to a new Chebyshev series with the derivati...
GSLFunctionWrapper * fFunction
wrapper class for C struct gsl_cheb_series
Class for adapting any C++ functor class to C function pointers used by GSL.
static double F(double x, void *p)
Wrapper class to the gsl_function C structure.
double(* GSLFuncPointer)(double, void *)
Function pointer corresponding to gsl_function signature.
IBaseFunctionOneDim IGenFunction