Improve the failure output of the test :range-reduction :x87.
authorLutz Euler <lutz.euler@freenet.de>
Sat, 2 Mar 2013 19:49:30 +0000 (20:49 +0100)
committerLutz Euler <lutz.euler@freenet.de>
Sat, 2 Mar 2013 19:49:30 +0000 (20:49 +0100)
Namely, output the function, argument, expected and actual result.

tests/float.impure.lisp

index daef1f2..29ca23b 100644 (file)
   (flet ((almost= (x y)
            (< (abs (- x y)) 1d-5)))
     (macrolet ((foo (op value)
-                 `(assert (almost= (,op (mod ,value (* 2 pi)))
-                                   (,op ,value)))))
+                 `(let ((actual (,op ,value))
+                        (expected (,op (mod ,value (* 2 pi)))))
+                    (unless (almost= actual expected)
+                      (error "Inaccurate result for ~a: expected ~a, got ~a"
+                             (list ',op ,value) expected actual)))))
       (let ((big (* pi (expt 2d0 70)))
             (mid (coerce most-positive-fixnum 'double-float))
             (odd (* pi most-positive-fixnum)))