32 static double guess_h(
double initial_h,
double x) {
33 volatile double xh = x + initial_h;
34 volatile double h = xh - x;
36 h = std::nextafter(x, std::numeric_limits<double>::max()) - x;
42 double h = std::sqrt(std::numeric_limits<double>::epsilon()) * 2;
51 double h = std::sqrt(std::sqrt(std::numeric_limits<double>::epsilon())) * 2;
54 double ymh = f(x - h);
56 double yph = f(x + h);
58 return (yph - 2 * y + ymh) / (h * h);
Interface class representing a function.
double derivative2nd(const Function &f, const double x)
static double guess_h(double initial_h, double x)
double derivative(const Function &f, const double x)