From: Christophe Rhodes Date: Tue, 15 Jun 2004 19:50:43 +0000 (+0000) Subject: 0.8.11.11: X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=fd455c269d8e43bd52c666e65eac11dc6a09d40c;p=sbcl.git 0.8.11.11: Better %UNARY-FTRUNCATE behaviour ... 158 failures (out of 21597, version 1.4) ... woohoo. "Two nines" compliance! --- diff --git a/src/compiler/float-tran.lisp b/src/compiler/float-tran.lisp index c18356b..8676c1e 100644 --- a/src/compiler/float-tran.lisp +++ b/src/compiler/float-tran.lisp @@ -1396,19 +1396,6 @@ (macrolet ((def (float-type fun) `(deftransform %unary-ftruncate ((x) (,float-type)) - (let ((x-type (lvar-type x)) - ;; these bounds may look wrong, but in fact they're - ;; right: floats within these bounds are those which - ;; TRUNCATE to a (SIGNED-BYTE 32). ROUND would be - ;; different. - (low-bound (coerce (- (ash 1 31)) ',float-type)) - (high-bound (coerce (ash 1 31) ',float-type))) - (if (csubtypep x-type - (specifier-type - `(,',float-type (,low-bound) (,high-bound)))) - '(coerce (%unary-truncate x) ',float-type) - `(if (< ,low-bound x ,high-bound) - (coerce (%unary-truncate x) ',',float-type) - (,',fun x))))))) + '(,fun x)))) (def single-float %unary-ftruncate/single) (def double-float %unary-ftruncate/double)) diff --git a/version.lisp-expr b/version.lisp-expr index b7bac15..2b07b2f 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.8.11.10" +"0.8.11.11"