X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fnumbers.lisp;h=a62eb9d107232809fbf40290b6f3c240415735ef;hb=4f2091cda26c2f3004a31704910344bce3288eea;hp=0539b3174c85ca081aa6084a22cb781a5d3ee300;hpb=98743008038a932dc6b53560d121df69c40e40ad;p=sbcl.git diff --git a/src/code/numbers.lisp b/src/code/numbers.lisp index 0539b31..a62eb9d 100644 --- a/src/code/numbers.lisp +++ b/src/code/numbers.lisp @@ -578,7 +578,7 @@ (numerator divisor)))) (values q (- number (* q divisor))))) ((fixnum bignum) - (values 0 number)) + (bignum-truncate (make-small-bignum number) divisor)) ((ratio (or float rational)) (let ((q (truncate (numerator number) (* (denominator number) divisor)))) @@ -1355,6 +1355,7 @@ collect `(prepare-argument ,arg))))))) (loop for infos being each hash-value of sb!c::*modular-funs* ;; FIXME: We need to process only "toplevel" functions + unless (eq infos :good) do (loop for info in infos for name = (sb!c::modular-fun-info-name info) and width = (sb!c::modular-fun-info-width info)