X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fprint.lisp;h=7cd5d3692b8409b2455b1093be5e215f45d01c8e;hb=b42068e9080417a073dcb709cdd2e0315599b3df;hp=68dffb62d19ce6bf87168b2f3e85b8b41e331a88;hpb=2378b4fe567a8fea78b1e4915b9497d8c18ca92f;p=sbcl.git diff --git a/src/code/print.lisp b/src/code/print.lisp index 68dffb6..7cd5d36 100644 --- a/src/code/print.lisp +++ b/src/code/print.lisp @@ -1402,7 +1402,9 @@ (declare (ignore sig)) (if (= x 0.0e0) (values (float 0.0e0 original-x) 1) - (let* ((ex (round (* exponent (log 2e0 10)))) + (let* ((ex (locally (declare (optimize (safety 0))) + (the fixnum + (round (* exponent (log 2e0 10)))))) (x (if (minusp ex) (if (float-denormalized-p x) #!-long-float @@ -1419,7 +1421,9 @@ (z y (* y m)) (ex ex (1- ex))) ((>= z 0.1e0) - (values (float z original-x) ex)))))))))) + (values (float z original-x) ex)) + (declare (long-float m) (integer ex)))) + (declare (long-float d)))))))) (eval-when (:compile-toplevel :execute) (setf *read-default-float-format* 'single-float))