Commit aa41a5c9 authored by KOBAYASHI Shuji's avatar KOBAYASHI Shuji

Drop dependency from `mruby-rational` to `mruby-numeric-ext`

parent b6e9fab6
...@@ -4,5 +4,4 @@ MRuby::Gem::Specification.new('mruby-rational') do |spec| ...@@ -4,5 +4,4 @@ MRuby::Gem::Specification.new('mruby-rational') do |spec|
spec.summary = 'Rational class' spec.summary = 'Rational class'
spec.add_dependency 'mruby-object-ext', core: 'mruby-object-ext' spec.add_dependency 'mruby-object-ext', core: 'mruby-object-ext'
spec.add_dependency 'mruby-numeric-ext', core: 'mruby-numeric-ext'
end end
...@@ -83,7 +83,7 @@ end ...@@ -83,7 +83,7 @@ end
def Rational(numerator = 0, denominator = 1) def Rational(numerator = 0, denominator = 1)
a = numerator a = numerator
b = denominator b = denominator
a, b = b, a % b until b.zero? a, b = b, a % b until b == 0
Rational._new(numerator.div(a), denominator.div(a)) Rational._new(numerator.div(a), denominator.div(a))
end end
......
...@@ -100,3 +100,10 @@ assert 'Float#==(Rational), Float#!=(Rational)' do ...@@ -100,3 +100,10 @@ assert 'Float#==(Rational), Float#!=(Rational)' do
assert_equal_rational(true, -2.0, Rational(4,-2)) assert_equal_rational(true, -2.0, Rational(4,-2))
assert_equal_rational(false, 3.3, Rational(13,4)) assert_equal_rational(false, 3.3, Rational(13,4))
end end
assert 'Rational#negative?' do
assert_predicate(Rational(-2,3), :negative?)
assert_predicate(Rational(2,-3), :negative?)
assert_not_predicate(Rational(2,3), :negative?)
assert_not_predicate(Rational(0), :negative?)
end
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