Safe numerical comparison
The library provide every function needed for numerical comparison. They are available in the following file.
(safe) floating point comparator
-
namespace safecomp
Contains a complete list of safe numercial comparison, eg. :
ASSERT_TRUE( safecomp::eq(1e-6, 0.) ); ASSERT_FALSE( safecomp::gt(1e-6, 0.) );
Functions
-
template<typename T>
inline bool lt(T lhs_p, T rhs_p, T epsilon_p = 1e-6) - Returns:
lhs_p is < rhs_p - \(\epsilon\)
-
template<typename T>
inline bool gt(T lhs_p, T rhs_p, T epsilon_p = 1e-6) - Returns:
lhs_p is > rhs_p + \(\epsilon\)
-
template<typename T>
inline bool eq(T lhs_p, T rhs_p, T epsilon_p = 1e-6) - Returns:
|lhs_p - rhs_p| \(\leq \epsilon\)
-
template<typename T>
inline bool le(T lhs_p, T rhs_p, T epsilon_p = 1e-6) - Returns:
lhs_p + rhs_p \(\leq \epsilon\)
-
template<typename T>
inline bool ge(T lhs_p, T rhs_p, T epsilon_p = 1e-6) - Returns:
lhs_p - rhs_p \(\geq - \epsilon\)
-
template<typename T>
inline bool neq(T lhs_p, T rhs_p, T epsilon_p = 1e-6) - Returns:
lhs_p - rhs_p > \( \epsilon\)
-
template<typename T>
inline bool isnull(T val_p, T epsilon_p = 1e-6) - Returns:
lhs_p \(\in [-\epsilon, \epsilon ]\)
-
template<typename T>