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