1#ifndef __MATH_AUX_H 2#define __MATH_AUX_H 3 4#include <limits> 5 6#undef __STD 7#if !defined (STLPORT) || defined (_STLP_USE_NAMESPACES) 8# define __STD std:: 9#else 10# define __STD 11#endif 12 13/* 14 * This function is not only used to compare floating point values with a tolerance, 15 * it also leads to ambiguity problems if the called functions do not have the 16 * right prototype. 17 */ 18template <class _Tp> 19bool are_equals(_Tp val, _Tp ref) { 20 if (val < ref) { 21 return (ref - val) <= __STD numeric_limits<_Tp>::epsilon(); 22 } 23 else { 24 return (val - ref) <= __STD numeric_limits<_Tp>::epsilon(); 25 } 26} 27 28#undef __STD 29 30#endif // __MATH_AUX_H 31