6#define IS_FLOATING_POINT_GUARD typename std::enable_if<std::is_floating_point<T>::value, bool>::type = true
18template<
typename T, IS_FLOATING_POINT_GUARD>
19bool is_equal(T a, T b) {
20 return std::abs(a - b) < std::numeric_limits<T>::epsilon();
28template<
typename T, IS_FLOATING_POINT_GUARD>
30 return std::abs(x) < std::numeric_limits<T>::epsilon();
36#undef IS_FLOATING_POINT_GUARD