Test compilation of flonum comparisons both ways.
authorTaylor R Campbell <campbell@mumble.net>
Wed, 28 Nov 2018 05:15:41 +0000 (05:15 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Wed, 28 Nov 2018 05:15:41 +0000 (05:15 +0000)
tests/runtime/test-flonum.scm

index f0cd3b48d7e0eff558d9da9c4b835898f4175e99..883f46a1c37b20a2dc0bb04985dc739718d2664c 100644 (file)
@@ -210,7 +210,24 @@ USA.
                         (yes-traps (lambda () (not (safe-compare x y))))
                         (if (or (flo:nan? x) (flo:nan? y))
                             #t
-                            (not (unsafe-compare x y))))))
+                            (not (unsafe-compare x y))))
+                       (if (safe-compare x y)
+                           (begin
+                             (assert-true (not (flo:nan? x)))
+                             (assert-true (not (flo:nan? y)))
+                             (assert-true (unsafe-compare x y))))
+                       (if (not (safe-compare x y))
+                           (begin
+                             (assert-true
+                              (or (flo:nan? x)
+                                  (flo:nan? y)
+                                  (not (unsafe-compare x y))))))
+                       (if (not (or (flo:nan? x) (flo:nan? y)))
+                           (begin
+                             (if (unsafe-compare x y)
+                                 (assert-true (safe-compare x y)))
+                             (if (not (unsafe-compare x y))
+                                 (assert-false (unsafe-compare x y)))))))
                    cases))
             cases)))))