From: Paul F. Dietz <dietz@dl...> - 2003-08-31 09:31:11
This is SBCL 0.8.3.14, an implementation of ANSI Common Lisp.
* (compile nil
'(lambda (x y)
(declare (type (single-float -10.0 10.0) x)
(type (double-float -1.0d100 1.0d100) y))
(* x y)))
debugger invoked on condition of type FLOATING-POINT-OVERFLOW:
arithmetic error FLOATING-POINT-OVERFLOW signalled
This also occurs in cmucl; rtoy has looked at it there.
Tests in gcl ansi-tests/times.lsp exercise this bug.
"Paul F. Dietz" <dietz@...> writes:
> This is SBCL 0.8.3.14, an implementation of ANSI Common Lisp.
> This also occurs in cmucl; rtoy has looked at it there.
Just to let you know that this turned out to be a bug in the compiler
transform for FLOAT. (FLOAT X), when compiled, would erroneously
attempt to coerce a double-float to a single-float.
http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge)