Go to the documentation of this file.
6 #ifndef CoinFloatEqual_H
7 #define CoinFloatEqual_H
50 inline bool operator()(
const double f1,
const double f2)
const
124 inline bool operator()(
const double f1,
const double f2)
const
134 double tol = (fabs(f1) > fabs(f2)) ? fabs(f1) : fabs(f2);
136 return (fabs(f1 - f2) <=
epsilon_ * (1 + tol));
CoinRelFltEq()
Default constructor.
double epsilon_
Equality tolerance.
CoinAbsFltEq()
Default constructor.
CoinAbsFltEq(const double epsilon)
Alternate constructor with epsilon as a parameter.
Equality to an absolute tolerance.
bool CoinIsnan(double val)
checks if a double value is not a number
virtual ~CoinRelFltEq()
Destructor.
CoinRelFltEq & operator=(const CoinRelFltEq &rhs)
Assignment.
virtual ~CoinAbsFltEq()
Destructor.
CoinRelFltEq(const CoinRelFltEq &src)
Copy constructor.
double epsilon_
Base equality tolerance.
bool CoinFinite(double val)
checks if a double value is finite (not infinity and not NaN)
bool operator()(const double f1, const double f2) const
Compare function.
bool operator()(const double f1, const double f2) const
Compare function.
CoinRelFltEq(const double epsilon)
Alternate constructor with epsilon as a parameter.
Equality to a scaled tolerance.
CoinAbsFltEq(const CoinAbsFltEq &src)
Copy constructor.
CoinAbsFltEq & operator=(const CoinAbsFltEq &rhs)
Assignment.