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 ;
56 return (fabs(f1-f2) < epsilon_) ; }
84 {
if (
this != &rhs) epsilon_ = rhs.epsilon_ ;
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)) ; }
159 {
if (
this != &rhs) epsilon_ = rhs.epsilon_ ;
bool CoinIsnan(double val)
checks if a double value is not a number
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.
CoinAbsFltEq(const double epsilon)
Alternate constructor with epsilon as a parameter.
Equality to a scaled tolerance.
CoinAbsFltEq()
Default constructor.
CoinRelFltEq()
Default constructor.
CoinRelFltEq & operator=(const CoinRelFltEq &rhs)
Assignment.
Equality to an absolute tolerance.
CoinRelFltEq(const CoinRelFltEq &src)
Copy constructor.
virtual ~CoinAbsFltEq()
Destructor.
CoinAbsFltEq & operator=(const CoinAbsFltEq &rhs)
Assignment.
bool CoinFinite(double val)
checks if a double value is finite (not infinity and not NaN)
virtual ~CoinRelFltEq()
Destructor.
CoinAbsFltEq(const CoinAbsFltEq &src)
Copy constructor.