Commit 6b6277e2 authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto

Merge pull request #1790 from iij/pr-float-divmod

fix Float#divmod returns nil
parents a3411c4c 6e1f4695
......@@ -161,7 +161,4 @@ class Float
}
n.to_i
end
def divmod(other)
end
end
......@@ -144,6 +144,23 @@ assert('Float#truncate', '15.2.9.3.15') do
assert_equal(-3, -3.1.truncate)
end
assert('Float#divmod') do
def check_floats exp, act
assert_float exp[0], act[0]
assert_float exp[1], act[1]
end
# Note: quotients are Float because mruby does not have Bignum.
check_floats [ 0, 0.0], 0.0.divmod(1)
check_floats [ 0, 1.1], 1.1.divmod(3)
check_floats [ 3, 0.2], 3.2.divmod(1)
check_floats [ 2, 6.3], 20.3.divmod(7)
check_floats [-1, 1.6], -3.4.divmod(5)
check_floats [-2, -0.5], 25.5.divmod(-13)
check_floats [ 1, -6.6], -13.6.divmod(-7)
check_floats [ 3, 0.2], 9.8.divmod(3.2)
end
assert('Float#nan?') do
assert_true (0.0/0.0).nan?
assert_false 0.0.nan?
......
......@@ -207,6 +207,16 @@ end
# Not ISO specified
assert('Integer#divmod') do
assert_equal [ 0, 0], 0.divmod(1)
assert_equal [ 0, 1], 1.divmod(3)
assert_equal [ 3, 0], 3.divmod(1)
assert_equal [ 2, 6], 20.divmod(7)
assert_equal [-1, 2], -3.divmod(5)
assert_equal [-2, -1], 25.divmod(-13)
assert_equal [ 1, -6], -13.divmod(-7)
end
assert('Integer#step') do
a = []
b = []
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment