From: Nikodemus S. <de...@us...> - 2008-06-30 09:00:42
|
Update of /cvsroot/sbcl/sbcl/src/compiler/generic In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv4741/src/compiler/generic Modified Files: early-vm.lisp Log Message: 1.0.18.2: more conservative interval artihmetic * In SAFELY-BINOP, when the other argument must be coerced to single float, punt if it is an integer that cannot be exactly represented as a single float. * Fixes bug 420, and a whole slew of MISC failures in ansi-tests -- including the ones that used to cause a hard crash or a hang: cvs up -dPC your ansi-test trees, and should huzzah! Index: early-vm.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/early-vm.lisp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- early-vm.lisp 14 Jul 2005 18:35:35 -0000 1.11 +++ early-vm.lisp 30 Jun 2008 09:00:39 -0000 1.12 @@ -45,3 +45,12 @@ (ash -1 (- n-word-bits n-lowtag-bits)) #!+sb-doc "the fixnum closest in value to negative infinity") + +(def!constant most-positive-exactly-single-float-fixnum + (min #xffffff most-positive-fixnum)) +(def!constant most-negative-exactly-single-float-fixnum + (max #x-ffffff most-negative-fixnum)) +(def!constant most-positive-exactly-double-float-fixnum + (min #x1fffffffffffff most-positive-fixnum)) +(def!constant most-negative-exactly-double-float-fixnum + (max #x-1fffffffffffff most-negative-fixnum)) |