24   fFunctionCopied(
false),
 
 
   63   if (&
rhs == 
this) 
return *
this;
 
 
   83   const double keps = std::numeric_limits<double>::epsilon();
 
   87   xx = 
x+
h;     
double f1 = (function)(
xx);
 
   89   xx = 
x-
h;     
double f2 = (function)(
xx);
 
   91   xx = 
x+
h/2;   
double g1 = (function)(
xx);
 
   93   xx = 
x-
h/2;   
double g2 = (function)(
xx);
 
  105   double e0 = (std::abs( 
f1) + std::abs(f2)) * 
keps;
 
  106   double e2 = 2* (std::abs( 
g1) + std::abs(
g2)) * 
keps + 
e0;
 
  107   double delta = std::max( std::abs( h2*
d0), std::abs( 
deriv) ) * std::abs( 
x)/
h * 
keps;
 
 
  120   const double keps = std::numeric_limits<double>::epsilon();
 
  124   xx = 
x+
h/4.0;         
double f1 = (function)(
xx);
 
  125   xx = 
x+
h/2.0;         
double f2 = (function)(
xx);
 
  127   xx = 
x+(3.0/4.0)*
h;   
double f3 = (function)(
xx);
 
  128   xx = 
x+
h;             
double f4 = (function)(
xx);
 
  132   double r2 = 2.0*(f4 - f2);
 
  133   double r4 = (22.0 / 3.0) * (f4 - f3) - (62.0 / 3.0) * (f3 - f2) +
 
  134    (52.0 / 3.0) * (f2 - 
f1);
 
 
  161   const double kC1 = 4*std::numeric_limits<double>::epsilon();
 
  164   xx = 
x+
h;     
double f1 = (function)(
xx);
 
  165   xx = 
x;       
double f2 = (function)(
xx);
 
  166   xx = 
x-
h;     
double f3 = (function)(
xx);
 
  168   xx = 
x+
h/2;   
double g1 = (function)(
xx);
 
  169   xx = 
x-
h/2;   
double g3 = (function)(
xx);
 
  173   double d0    = f3 - 2*f2 + 
f1;
 
  174   double d2    = 4*
g3 - 8*f2 +4*
g1;
 
 
  182   const double kC1 = 4*std::numeric_limits<double>::epsilon();
 
  185   xx = 
x+2*
h;   
double f1 = (function)(
xx);
 
  186   xx = 
x+
h;     
double f2 = (function)(
xx);
 
  187   xx = 
x-
h;     
double f3 = (function)(
xx);
 
  188   xx = 
x-2*
h;   
double f4 = (function)(
xx);
 
  189   xx = 
x;       
double fx = (function)(
xx);
 
  190   xx = 
x+
h/2;   
double g2 = (function)(
xx);
 
  191   xx = 
x-
h/2;   
double g3 = (function)(
xx);
 
  195   double d0   = 0.5*
f1 - f2 +f3 - 0.5*f4;
 
  196   double d2   = 4*f2 - 8*
g2 +8*
g3 - 4*f3;
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
Interface (abstract class) for generic functions objects of one-dimension Provides a method to evalua...
User class for calculating the derivatives of a function.
double Derivative2(double x)
Returns the second derivative of the function at point x, computed by Richardson's extrapolation meth...
bool fFunctionCopied
flag to control if function is copied in the class
~RichardsonDerivator()
Destructor: Removes function if needed.
RichardsonDerivator(double h=0.001)
Default Constructor.
double DerivativeForward(double x)
Computation of the first derivative using a forward formula.
double fStepSize
step size used for derivative calculation
RichardsonDerivator & operator=(const RichardsonDerivator &rhs)
Assignment operator.
double Derivative3(double x)
Returns the third derivative of the function at point x, computed by Richardson's extrapolation metho...
double Derivative1(double x)
Returns the first derivative of the function at point x, computed by Richardson's extrapolation metho...
void SetFunction(const IGenFunction &f)
Set function for derivative calculation (copy the function if option has been enabled in the construc...
double fLastError
error estimate of last derivative calculation
const IGenFunction * fFunction
pointer to function
Namespace for new Math classes and functions.
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...