diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-07-11 05:00:02 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-07-11 05:00:02 +0000 |
commit | 4bacdc1e46ab788f9285ccd8eccd2776260f9528 (patch) | |
tree | a603c9435fcf3c432ecc1389be508a3aaa7cd4ca /ext/bigdecimal/lib | |
parent | fd66442a1d8cec73a14601f8056b9fad238f92be (diff) |
* bignum.c (bignorm): sizeof(long) may be smaller than
sizeof(VALUE). [ruby-dev:29013]
* ruby.h (FIXNUM_MAX): fixnum may be bigger than long.
* ruby.h (SIGNED_VALUE): signed integer of size of VALUE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/bigdecimal/lib')
-rw-r--r-- | ext/bigdecimal/lib/bigdecimal/util.rb | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ext/bigdecimal/lib/bigdecimal/util.rb b/ext/bigdecimal/lib/bigdecimal/util.rb index 2c17aa6b8e..09e926acd5 100644 --- a/ext/bigdecimal/lib/bigdecimal/util.rb +++ b/ext/bigdecimal/lib/bigdecimal/util.rb @@ -46,11 +46,10 @@ class BigDecimal < Numeric numerator = sign*digits.to_i denomi_power = power - digits.size # base is always 10 if denomi_power < 0 - denominator = base ** (-denomi_power) + Rational(numerator,base ** (-denomi_power)) else - denominator = base ** denomi_power + Rational(numerator * (base ** denomi_power),1) end - Rational(numerator,denominator) end end |