#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.
#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.