Sets the relative floating point (double) arithmetic precision.
By default the precision values are obtained from the standard functions std::numeric_limits<double>::epsilon. The values can optionally be computed directly using the ComputePrecision() member function. For a IEEE standard floating point arithmetic the computed values and the one from std::numeric_limits<double>::epsilon are the same.
SetPrecision() method can instead be used to override Minuit's own determination, when the user knows that the {FCN} function Value is not calculated to the nominal machine accuracy.
Definition at line 32 of file MnMachinePrecision.h.
Public Member Functions | |
MnMachinePrecision () | |
void | ComputePrecision () |
compute Machine precision directly instead of using default values from std::numeric_limits | |
double | Eps () const |
eps returns the smallest possible number so that 1.+eps > 1. | |
double | Eps2 () const |
eps2 returns 2*sqrt(eps) | |
void | SetPrecision (double prec) |
override Minuit's own determination | |
Private Attributes | |
double | fEpsMa2 |
double | fEpsMac |
#include <Minuit2/MnMachinePrecision.h>
ROOT::Minuit2::MnMachinePrecision::MnMachinePrecision | ( | ) |
Definition at line 18 of file MnMachinePrecision.cxx.
void ROOT::Minuit2::MnMachinePrecision::ComputePrecision | ( | ) |
compute Machine precision directly instead of using default values from std::numeric_limits
Definition at line 29 of file MnMachinePrecision.cxx.
|
inline |
eps returns the smallest possible number so that 1.+eps > 1.
Definition at line 38 of file MnMachinePrecision.h.
|
inline |
eps2 returns 2*sqrt(eps)
Definition at line 41 of file MnMachinePrecision.h.
override Minuit's own determination
Definition at line 44 of file MnMachinePrecision.h.
|
private |
Definition at line 56 of file MnMachinePrecision.h.
|
private |
Definition at line 55 of file MnMachinePrecision.h.