source file of the Flower Library
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
-
#ifndef REAL_HH
#define REAL_HH
-
-#include <builtin.h>
-#include <minmax.h>
-#include <math.h>
-#include <limits.h>
+#include <algorithm>
+#include <climits>
+#include <cmath>
+using namespace std;
typedef double Real;
-const Real infinity_f = HUGE_VAL;
+extern const Real infinity_f;
+
+/* namespace std { */
+
+template<class T> inline T abs (T x)
+{
+ return x > 0 ? x : -x;
+}
+
+/* } namespace std */
inline Real
-distance (Real x,Real y)
+distance (Real x, Real y)
+{
+ return abs (x - y);
+}
+
+template<class T> inline int sign (T x)
+{
+ if (x)
+ return x > T (0) ? 1 : -1;
+ return 0;
+}
+
+template<class T> inline T sqr (T x)
{
- return abs (x-y);
+ return x * x;
}
#endif