summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2021-03-18 17:10:51 +0900
committerKOBAYASHI Shuji <[email protected]>2021-03-18 17:10:51 +0900
commit6731f935cc0460852ab36a21aaacd5e30d6b4842 (patch)
tree33762f7cc1a19b420e90b8898c3a7107360b5b48 /test
parenta0b3378b360b0ac2d2f2b80502fb88e01516cc08 (diff)
downloadmruby-6731f935cc0460852ab36a21aaacd5e30d6b4842.tar.gz
mruby-6731f935cc0460852ab36a21aaacd5e30d6b4842.zip
`Float::NAN/0` should be `Float::NAN`; ref a0b3378b3
#### Before this patch: ```console $ bin/mruby -e 'p(Float::NAN/0)' Infinity ``` #### After this patch (same as Ruby): ```console $ bin/mruby -e 'p(Float::NAN/0)' NaN ```
Diffstat (limited to 'test')
-rw-r--r--test/t/float.rb66
1 files changed, 58 insertions, 8 deletions
diff --git a/test/t/float.rb b/test/t/float.rb
index 3a0cf27bc..f6f6d01dd 100644
--- a/test/t/float.rb
+++ b/test/t/float.rb
@@ -35,16 +35,66 @@ assert('Float#*', '15.2.9.3.3') do
end
assert('Float#/', '15.2.9.3.4') do
- a = 3.123456789 / 3.123456789
- b = 3.123456789 / 1
-
- assert_float(1.0 , a)
- assert_float(3.123456789, b)
+ assert_float(1.0, 3.123456789 / 3.123456789)
+ assert_float(3.123456789, 3.123456789 / 1)
+ assert_float(2.875, -5.75 / -2.0)
+ assert_float(-2.875, 5.75 / -2)
+ assert_float(-2.875, -5.75 / 2.0)
+ assert_float(Float::NAN, 0.0 / 0.0)
+ assert_float(Float::NAN, -0.0 / -0.0)
+ assert_float(Float::NAN, -0.0 / 0.0)
+ assert_float(Float::NAN, Float::NAN / Float::NAN)
+ assert_float(Float::NAN, Float::NAN / 0.0)
+ assert_float(Float::NAN, Float::NAN / -0.0)
+ assert_float(Float::NAN, Float::NAN / 2.0)
+ assert_float(Float::NAN, Float::NAN / -2.0)
+ assert_float(Float::NAN, 0.0 / Float::NAN)
+ assert_float(Float::NAN, -0.0 / Float::NAN)
+ assert_float(Float::NAN, 2.0 / Float::NAN)
+ assert_float(Float::NAN, -2.0 / Float::NAN)
+ assert_float(Float::NAN, Float::INFINITY / Float::INFINITY)
+ assert_float(Float::NAN, -Float::INFINITY / Float::INFINITY)
+ assert_float(Float::NAN, Float::INFINITY / -Float::INFINITY)
+ assert_float(Float::NAN, -Float::INFINITY / -Float::INFINITY)
+ assert_float(Float::INFINITY, 1.0 / 0.0)
+ assert_float(Float::INFINITY, -1.0 / -0.0)
+ assert_float(-Float::INFINITY, 1.0 / -0.0)
+ assert_float(-Float::INFINITY, -1.0 / 0.0)
+ assert_float(0.0, 1.0 / Float::INFINITY)
+ assert_float(0.0, -1.0 / -Float::INFINITY)
+ assert_float(-0.0, -1.0 / Float::INFINITY)
+ assert_float(-0.0, 1.0 / -Float::INFINITY)
end
assert('Float#quo') do
- a = 3.123456789.quo(3.123456789)
-
- assert_float(1.0 , a)
+ assert_float(1.0, 3.123456789.quo(3.123456789))
+ assert_float(3.123456789, 3.123456789.quo(1))
+ assert_float(2.875, -5.75.quo(-2.0))
+ assert_float(-2.875, 5.75.quo(-2))
+ assert_float(-2.875, -5.75.quo(2.0))
+ assert_float(Float::NAN, 0.0.quo(0.0))
+ assert_float(Float::NAN, -0.0.quo(-0.0))
+ assert_float(Float::NAN, -0.0.quo(0.0))
+ assert_float(Float::NAN, Float::NAN.quo(Float::NAN))
+ assert_float(Float::NAN, Float::NAN.quo(0.0))
+ assert_float(Float::NAN, Float::NAN.quo(-0.0))
+ assert_float(Float::NAN, Float::NAN.quo(2.0))
+ assert_float(Float::NAN, Float::NAN.quo(-2.0))
+ assert_float(Float::NAN, 0.0.quo(Float::NAN))
+ assert_float(Float::NAN, -0.0.quo(Float::NAN))
+ assert_float(Float::NAN, 2.0.quo(Float::NAN))
+ assert_float(Float::NAN, -2.0.quo(Float::NAN))
+ assert_float(Float::NAN, Float::INFINITY.quo(Float::INFINITY))
+ assert_float(Float::NAN, -Float::INFINITY.quo(Float::INFINITY))
+ assert_float(Float::NAN, Float::INFINITY.quo(-Float::INFINITY))
+ assert_float(Float::NAN, -Float::INFINITY.quo(-Float::INFINITY))
+ assert_float(Float::INFINITY, 1.0.quo(0.0))
+ assert_float(Float::INFINITY, -1.0.quo(-0.0))
+ assert_float(-Float::INFINITY, 1.0.quo(-0.0))
+ assert_float(-Float::INFINITY, -1.0.quo(0.0))
+ assert_float(0.0, 1.0.quo(Float::INFINITY))
+ assert_float(0.0, -1.0.quo(-Float::INFINITY))
+ assert_float(-0.0, -1.0.quo(Float::INFINITY))
+ assert_float(-0.0, 1.0.quo(-Float::INFINITY))
end
assert('Float#%', '15.2.9.3.5') do