summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenta Murata <[email protected]>2020-01-17 10:47:20 +0900
committerKenta Murata <[email protected]>2020-01-17 10:57:51 +0900
commit5275d8bf4c43db9f057d24a26cf33ecd69f8b345 ()
treed77ff868dc4a32a0f8e8e5e56b3b03aca527bf15
parent47465ab1ccf48d2c905dbcf3b676e30b61cc41ca (diff)
rb_rational_raw: convert num and den by to_int
-rw-r--r--rational.c4
-rw-r--r--test/-ext-/rational/test_rat.rb24
2 files changed, 28 insertions, 0 deletions
@@ -1927,6 +1927,10 @@ rb_gcdlcm(VALUE self, VALUE other)
VALUE
rb_rational_raw(VALUE x, VALUE y)
{
if (INT_NEGATIVE_P(y)) {
x = rb_int_uminus(x);
y = rb_int_uminus(y);
@@ -42,5 +42,29 @@ class TestRational < Test::Unit::TestCase
rat = Rational.raw(1, -2)
assert_equal(-1, rat.numerator)
assert_equal(2, rat.denominator)
end
end