1.0.3.13: working NaN comparison tests outside Darwin
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 2 Mar 2007 17:03:09 +0000 (17:03 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 2 Mar 2007 17:03:09 +0000 (17:03 +0000)
 * Other platforms have invalid operation traps normally in effect.

tests/float.pure.lisp
version.lisp-expr

index a907faf..5685131 100644 (file)
                      (+ x0 x1 x6 x7) (+ x2 x3 x4 x5)))))))
 
 (with-test (:name :nan-comparisons)
-  (macrolet ((test (form)
-               (let ((nform (subst (/ 0.0 0.0) 'nan form)))
-                 `(progn
-                    (assert (not (eval ',nform)))
-                    (assert (not (funcall (lambda () ,nform))))))))
-    ;; Source transforms for >= and <= used to be too eager about
-    ;; inverting the test, causing NaN issues.
-    (test (>= nan 1.0))
-    (test (>= 1.0 nan))
-    (test (>= 1.0 nan 0.0))
-    (test (>= 1.0 0.0 nan))
-    (test (>= nan 1.0 0.0))
-    (test (<= nan 1.0))
-    (test (<= 1.0 nan))
-    (test (<= 1.0 nan 2.0))
-    (test (<= 1.0 2.0 nan))
-    (test (<= nan 1.0 2.0))))
+  (sb-int:with-float-traps-masked (:invalid)
+    (macrolet ((test (form)
+                 (let ((nform (subst '(/ 0.0 0.0) 'nan form)))
+                   `(progn
+                      (assert (not (eval ',nform)))
+                      (assert (not (funcall (lambda () ,nform))))))))
+      ;; Source transforms for >= and <= used to be too eager about
+      ;; inverting the test, causing NaN issues.
+      (test (>= nan 1.0))
+      (test (>= 1.0 nan))
+      (test (>= 1.0 nan 0.0))
+      (test (>= 1.0 0.0 nan))
+      (test (>= nan 1.0 0.0))
+      (test (<= nan 1.0))
+      (test (<= 1.0 nan))
+      (test (<= 1.0 nan 2.0))
+      (test (<= 1.0 2.0 nan))
+      (test (<= nan 1.0 2.0)))))
index 5081f96..968322c 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.3.12"
+"1.0.3.13"