#ifndef __MATH_AUX_H #define __MATH_AUX_H #include <limits> #undef __STD #if !defined (STLPORT) || defined (_STLP_USE_NAMESPACES) # define __STD std:: #else # define __STD #endif /* * This function is not only used to compare floating point values with a tolerance, * it also leads to ambiguity problems if the called functions do not have the * right prototype. */ template <class _Tp> bool are_equals(_Tp val, _Tp ref) { if (val < ref) { return (ref - val) <= __STD numeric_limits<_Tp>::epsilon(); } else { return (val - ref) <= __STD numeric_limits<_Tp>::epsilon(); } } #undef __STD #endif // __MATH_AUX_H