[cmucl-ticket] #10: round is sometimes wrong for numbers bigger than most-positive-fixnum

#10: round is sometimes wrong for numbers bigger than most-positive-fixnum --------------------+------------------------------------------------------- Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: minor | Milestone: Component: Core | Version: 19d Keywords: round | --------------------+------------------------------------------------------- {{{(round (+ 536870911 1.5d0))}}} should return 536870912 and 0.5d0. However, cmucl returns 536870913 and -0.5d0. The code in float.lisp for {{{%unary-round}}} appears to be wrong for numbers outside fixnum range. At the very least we should extend the range to {{{(signed-byte 32)}}}, but there would still be issues for other numbers. -- Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/10> cmucl <http://common-lisp.net/project/cmucl> cmucl

#10: round is sometimes wrong for numbers bigger than most-positive-fixnum ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: closed Priority: minor | Milestone: Component: Core | Version: 19d Resolution: fixed | Keywords: round ---------------------+------------------------------------------------------ Changes (by rtoy): * resolution: => fixed * status: new => closed Comment: Fixed. Was not checking for odd-valued results that needed to be rounded to even. -- Ticket URL: <http://trac.common-lisp.net/cmucl/ticket/10> cmucl <http://common-lisp.net/project/cmucl> cmucl
participants (1)
-
cmucl