4 #ifndef CoinFloatEqual_H
5 #define CoinFloatEqual_H
51 inline bool operator() (
const double f1,
const double f2)
const
54 if (f1 == f2)
return true ;
112 inline bool operator() (
const double f1,
const double f2)
const
115 if (f1 == f2)
return true ;
118 double tol = (fabs(f1)>fabs(f2))?fabs(f1):fabs(f2) ;
120 return (fabs(f1-f2) <=
epsilon_*(1+tol)) ; }
Equality to a scaled tolerance.
CoinRelFltEq()
Default constructor.
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)
CoinRelFltEq & operator=(const CoinRelFltEq &rhs)
Assignment.
CoinAbsFltEq(const double epsilon)
Alternate constructor with epsilon as a parameter.
bool CoinIsnan(double val)
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.