Project

General

Profile

Backport #3159

BigDecimal broken in 32bit Ruby

Added by DerGuteMoritz (Moritz Heidkamp) almost 10 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
[ruby-core:29556]

Description

=begin
The following code:

require 'bigdecimal'
BigDecimal.new('100000000').div(BigDecimal.new('3'))

returns (as one would expect) 33333333 in 64bit Ruby (tested on NetBSD and Linux). In 32bit Ruby, however, it returns 33330000 (as one would probably not expect). This is true for 1.8.x as well as 1.9.x (tested on Linux and Mac OS X Slow Lepperd). Unfortunately, I can't provide a patch to fix this but maybe someone more proficient than me reads this and can look into it!
=end

#1

Updated by rogerdpack (Roger Pack) almost 10 years ago

=begin
Appears to work in 1.9.2:

191:
irb(main):003:0> BigDecimal.new('100000000').div(BigDecimal.new('3'))
=> 33330000

192:

irb(main):003:0> BigDecimal.new('100000000').div(BigDecimal.new('3'))
=> 33333333

=end

#2

Updated by yugui (Yuki Sonoda) almost 10 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r27597.
Moritz, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Also available in: Atom PDF