mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
52 lines
1.1 KiB
Ruby
52 lines
1.1 KiB
Ruby
##
|
|
# Numeric(Ext) Test
|
|
|
|
assert('Integer#div') do
|
|
assert_equal 52, 365.div(7)
|
|
end
|
|
|
|
assert('Float#div') do
|
|
skip unless Object.const_defined?(:Float)
|
|
assert_float 52, 365.2425.div(7)
|
|
end
|
|
|
|
assert('Integer#zero?') do
|
|
assert_equal true, 0.zero?
|
|
assert_equal false, 1.zero?
|
|
end
|
|
|
|
assert('Integer#nonzero?') do
|
|
assert_equal nil, 0.nonzero?
|
|
assert_equal 1000, 1000.nonzero?
|
|
end
|
|
|
|
assert('Integer#pow') do
|
|
assert_equal(8, 2.pow(3))
|
|
assert_equal(-8, (-2).pow(3))
|
|
assert_equal(361, 9.pow(1024,1000))
|
|
end
|
|
|
|
assert('Integer#ceildiv') do
|
|
assert_equal(0, 0.ceildiv(3))
|
|
assert_equal(1, 1.ceildiv(3))
|
|
assert_equal(1, 3.ceildiv(3))
|
|
assert_equal(2, 4.ceildiv(3))
|
|
|
|
assert_equal(-1, 4.ceildiv(-3))
|
|
assert_equal(-1, -4.ceildiv(3))
|
|
assert_equal(2, -4.ceildiv(-3))
|
|
|
|
if Object.const_defined?(:Float)
|
|
assert_equal(3, 3.ceildiv(1.2))
|
|
end
|
|
if Object.const_defined?(:Rational)
|
|
assert_equal(3, 3.ceildiv(6/5r))
|
|
end
|
|
|
|
# assert_equal(10, (10**100-11).ceildiv(10**99-1))
|
|
# assert_equal(11, (10**100-9).ceildiv(10**99-1))
|
|
assert_equal(8, 2.pow(3))
|
|
assert_equal(-8, (-2).pow(3))
|
|
# assert_equal(361, 9.pow(1024,1000))
|
|
end
|