diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2024-07-30 12:05:09 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-30 09:05:09 -0700 |
| commit | 0922afa95b3e390876cbea7f78d3d93d979f27d4 (patch) | |
| tree | 5672b1ea62c7b1789b84b3aa3a69483b68573148 /test/ruby/test_weakmap.rb | |
| parent | ce565cd4b851977bf37a470bee54e441bb60486d (diff) | |
[Bug #20654] Fix floor and ceil when ndigits is large (#11277)
* Fix floor when ndigits is large
[Bug #20654]
This commit fixes Integer#floor and Float#floor when the number is
negative and ndigits is large such that 10**ndigits is a bignum.
Previously, it would return 0 in such cases. However, this would cause
unexpected behaviour such as:
puts -1.floor(-5) # => -100000
puts -1.floor(-10) # => -10000000000
puts -1.floor(-20) # => 0
This commit changes the last result so that it will return
-100000000000000000000.
* Fix ceil when ndigits is large
[Bug #20654]
This commit fixes Integer#ceil and Float#ceil when the number is
negative and ndigits is large such that 10**ndigits is a bignum.
Previously, it would return 0 in such cases. However, this would cause
unexpected behaviour such as:
puts 1.ceil(-5) # => 100000
puts 1.ceil(-10) # => 10000000000
puts 1.ceil(-20) # => 0
This commit changes the last result so that it will return
100000000000000000000.
Diffstat (limited to 'test/ruby/test_weakmap.rb')
0 files changed, 0 insertions, 0 deletions
