0.6.11.29:
[sbcl.git] / tests / float.pure.lisp
index e5d62ac..f4382e3 100644 (file)
 
 (cl:in-package :cl-user)
 
-(let ((+ifni single-float-positive-infinity)
-      (-ifni single-float-negative-infinity))
-  (assert (= (* +ifni 1) +ifni))
-  (assert (= (* +ifni -0.1) -ifni))
-  (assert (= (+ +ifni -0.1) +ifni))
-  (assert (= (- +ifni -0.1) +ifni))
-  (assert (= (sqrt +ifni) +ifni))
-  (assert (= (* -ifni -14) +ifni))
-  (assert (= (/ -ifni 0.1) -ifni))
-  (assert (= (/ -ifni 100/3) -ifni))
-  (assert (< -ifni +ifni))
-  ;; FIXME: Reenable this when bug 92 is fixed.
-  ;; (assert (not (< +ifni 100)))
-  (assert (not (< +ifni 100.0)))
-  (assert (not (< +ifni -ifni))))
+(dolist (ifnis (list (cons single-float-positive-infinity
+                          single-float-negative-infinity)
+                    (cons double-float-positive-infinity
+                          double-float-negative-infinity)))
+  (destructuring-bind (+ifni . -ifni) ifnis
+    (assert (= (* +ifni 1) +ifni))
+    (assert (= (* +ifni -0.1) -ifni))
+    (assert (= (+ +ifni -0.1) +ifni))
+    (assert (= (- +ifni -0.1) +ifni))
+    (assert (= (sqrt +ifni) +ifni))
+    (assert (= (* -ifni -14) +ifni))
+    (assert (= (/ -ifni 0.1) -ifni))
+    (assert (= (/ -ifni 100/3) -ifni))
+    (assert (not (= +ifni -ifni)))
+    (assert (= -ifni -ifni))
+    (assert (not (= +ifni 100/3)))
+    (assert (not (= -ifni -1.0 -ifni)))
+    (assert (not (= -ifni -17/02 -ifni)))
+    (assert (< -ifni +ifni))
+    (assert (not (< +ifni 100)))
+    (assert (not (< +ifni 100.0)))
+    (assert (not (< +ifni -ifni)))
+    (assert (< 100 +ifni))
+    (assert (< 100.0 +ifni))
+    (assert (>= 100 -ifni))
+    (assert (not (<= 6/7 (* 3 -ifni))))
+    (assert (not (> +ifni +ifni)))))