flo:ulp is busted on NaN.
authorTaylor R Campbell <campbell@mumble.net>
Sun, 30 Jun 2019 19:49:19 +0000 (19:49 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Sun, 30 Jun 2019 23:30:53 +0000 (23:30 +0000)
tests/runtime/test-flonum.scm

index 513fb196e1f732b07f894023e825b427e96d1760..af2d12598e7fb09723bdb6bfdf2222a998caea76 100644 (file)
@@ -235,15 +235,18 @@ USA.
    (list 2. (* 2 flo:ulp-of-one))
    (list 3. (* 2 flo:ulp-of-one))
    (list (- 3. (* 2 flo:ulp-of-one)) (* 2 flo:ulp-of-one))
-   (list (flo:+inf.0) (flo:+inf.0)))
-  (lambda (x u)
+   (list (flo:+inf.0) (flo:+inf.0))
+   (list +nan.123 +nan.123 expect-failure))
+  (lambda (x u #!optional xfail)
     (flo:with-trapped-exceptions 0
       (lambda ()
         (let ((u
                (if (string? u)
                    (string->number u)
                    u)))
-          (assert-eqv (flo:ulp x) u))))))
+          (with-expected-failure xfail
+            (lambda ()
+              (assert-eqv-nan (flo:ulp x) u))))))))
 
 (define-enumerated-test 'copysign
   `((0. 0. 0.)