Tried fixing portability issue
authorChristoph Sommer <mail@christoph-sommer.de>
Fri, 18 Aug 2006 13:50:54 +0000 (13:50 +0000)
committerChristoph Sommer <mail@christoph-sommer.de>
Fri, 18 Aug 2006 13:50:54 +0000 (13:50 +0000)
SVN-Revision: 4198

src/collision.hpp

index 73c966d..ba6b6f8 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <float.h>
 #include "collision_hit.hpp"
+#include <limits>
 
 class Vector;
 class Rect;
@@ -34,15 +35,17 @@ class Constraints
 {
 public:
   Constraints() {
-    left = -INFINITY;
-    right = INFINITY;
-    top = -INFINITY;
-    bottom = INFINITY;
+    float infinity = (std::numeric_limits<float>::has_infinity ? std::numeric_limits<float>::infinity() : std::numeric_limits<float>::max());
+    left = -infinity;
+    right = infinity;
+    top = -infinity;
+    bottom = infinity;
   }
 
   bool has_constraints() const {
-    return left > -INFINITY || right < INFINITY
-        || top > -INFINITY || bottom < INFINITY;
+    float infinity = (std::numeric_limits<float>::has_infinity ? std::numeric_limits<float>::infinity() : std::numeric_limits<float>::max());
+    return left > -infinity || right < infinity
+        || top > -infinity || bottom < infinity;
   }
 
   float left;