X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Firrat.lisp;h=bab76615a6dd170b40994be6539439d47b54ec36;hb=bb7c5beef3a2c45f0ff99f8038409dc4787aa295;hp=b2218541a7083f25d512fd004f044b82b04d8235;hpb=749c55a9132056c063ea4ca517ce6d060db9f4b4;p=sbcl.git diff --git a/src/code/irrat.lisp b/src/code/irrat.lisp index b221854..bab7661 100644 --- a/src/code/irrat.lisp +++ b/src/code/irrat.lisp @@ -314,8 +314,9 @@ (integer-length denominator)) (coerce (%log1p (coerce (- number 1) 'double-float)) 'single-float) - (coerce (- (log numerator) (log denominator)) - 'single-float))))) + (coerce (/ (- (log2 numerator) (log2 denominator)) + (log (exp 1.0d0) 2.0d0)) + 'single-float))))) (((foreach single-float double-float)) ;; Is (log -0) -infinity (libm.a) or -infinity + i*pi (Kahan)? ;; Since this doesn't seem to be an implementation issue