56 return (std::fabs(a-b)<=std::abs(
std::min(a,b))*std::numeric_limits<CepsReal>::epsilon()*error);
69 return (std::fabs(a-b)<epsilon);
86 res = res and (std::fabs(a[i]-b[i])>=epsilon);
100 return ((a-b) > ((std::fabs(a)<std::fabs(b)) ? std::fabs(b) : std::fabs(a))*epsilon);
113 return ((b-a) >((std::fabs(a) < std::fabs(b)) ? std::fabs(b) : std::fabs(a))*epsilon);
std::make_unsigned_t< CepsInt > CepsUInt
Unsigned version on CepsInt.
float CepsReal
Need single precision floating point.
#define FLOATING_POINT_EPSILON
A namespace for all utility methods.
CepsBool approxEquals(CepsReal a, CepsReal b, CepsReal epsilon)
Approximate equality with epsilon tolerance.
const _Type & min(const CepsVector< _Type, _Alloc > &vec)
Returns the minimum of the vector, const version.
CepsBool greaterThan(CepsReal a, CepsReal b, CepsReal epsilon=FLOATING_POINT_EPSILON)
Greater than comparison with epsilon tolerance.
CepsBool lesserThan(CepsReal a, CepsReal b, CepsReal epsilon=FLOATING_POINT_EPSILON)
Lesser than comparison with epsilon tolerance.
CepsBool equals(CepsReal a, CepsReal b, CepsReal error=1.0)
CepsReal equality up to machine precision.