46 static double kPrecision = std::sqrt ( std::numeric_limits<double>::epsilon() );
47 double x0 = std::abs(
x[icoord]);
50 double step = (x0>0) ? std::max(
fgEps* x0, 8.0*kPrecision*(x0 + kPrecision) ) : kPrecision;
double Eval(double x, double h=1E-8) const
Computes the numerical derivative of a function f at a point x.
const IMultiGenFunction * fFunc
static void SetDerivPrecision(double eps)
precision value used for calculating the derivative step-size h = eps * |x|.
static double GetDerivPrecision()
get precision value used for calculating the derivative step-size
double DoDerivative(const double *x, unsigned int icoord) const override
Namespace for new Math classes and functions.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...