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