From: Nathan Froyd Date: Wed, 1 Jun 2005 22:31:34 +0000 (+0000) Subject: 0.9.1.20: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=a27e8ddda86bd8ce601d0b7d6629ae093d406191;p=sbcl.git 0.9.1.20: Fix typo in LOGAND-DERIVE-UNSIGNED-HIGH-BOUND (thanks to jsnell for testing and rtoy for his CMUCL work on the same). (Since CMUCL has essentially the same code, a future commit will add similar derivers for LOGXOR. A more idiomatic CL style will also be adopted.) --- diff --git a/src/compiler/srctran.lisp b/src/compiler/srctran.lisp index c8a7b20..982c382 100644 --- a/src/compiler/srctran.lisp +++ b/src/compiler/srctran.lisp @@ -2177,7 +2177,7 @@ ((not (zerop (logand (logand (lognot b) mask) d m))) - (let ((temp (logior (logand d (lognot b) mask) + (let ((temp (logior (logand d (lognot m) mask) (- m 1)))) (when (>= temp c) (setf d temp) diff --git a/tests/float.pure.lisp b/tests/float.pure.lisp index c797f53..03b3cf9 100644 --- a/tests/float.pure.lisp +++ b/tests/float.pure.lisp @@ -98,6 +98,12 @@ (assert (raises-error? (scale-float 1.0d0 (1+ most-positive-fixnum)) floating-point-overflow))) +;;; bug found by jsnell when nfroyd tried to implement better LOGAND +;;; type derivation. +(assert (= (integer-decode-float (coerce -1756510900000000000 + 'single-float)) + 12780299)) + ;;; MISC.564: no out-of-line %ATAN2 for constant folding (assert (typep (funcall diff --git a/version.lisp-expr b/version.lisp-expr index 457e504..f9e2c4d 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"0.9.1.19" +"0.9.1.20"