diff options
| author | Peter Zhu <peter@peterzhu.ca> | 2024-07-26 11:10:39 -0400 |
|---|---|---|
| committer | Peter Zhu <peter@peterzhu.ca> | 2024-07-30 08:21:28 -0400 |
| commit | 3af2a7fbe12e11bac7b26bd991d3d02349f47295 (patch) | |
| tree | a823090e82d8c0dcdbaa248119d3a99c37b887de /test/ruby/test_optimization.rb | |
| parent | 1870505f478cc75993b296b7144a45137ace6937 (diff) | |
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.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/11257
Diffstat (limited to 'test/ruby/test_optimization.rb')
0 files changed, 0 insertions, 0 deletions
