genericopenlibs/cppstdlib/stl/test/unit/math_aux.h
changeset 0 e4d67989cc36
child 18 47c74d1534e1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/genericopenlibs/cppstdlib/stl/test/unit/math_aux.h	Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,21 @@
+#ifndef __MATH_AUX_H
+#define __MATH_AUX_H
+
+#include <limits>
+
+/*
+ * 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();
+  }
+}
+
+#endif // __MATH_AUX_H