diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | rational.c | 2 |
2 files changed, 5 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Sun Sep 8 16:01:54 2013 Tanaka Akira <akr@fsij.org> + + * rational.c (f_gcd): Relax the condition to use GMP. + Sun Sep 8 13:56:38 2013 Masaki Suketa <masaki.suketa@nifty.ne.jp> * ext/win32ole/win32ole.c (folevariant_initialize): check type of diff --git a/rational.c b/rational.c index d70dfd41ab..b36ce29c1d 100644 --- a/rational.c +++ b/rational.c @@ -379,7 +379,7 @@ f_gcd(VALUE x, VALUE y) if (TYPE(x) == T_BIGNUM && TYPE(y) == T_BIGNUM) { long xn = RBIGNUM_LEN(x); long yn = RBIGNUM_LEN(y); - if (GMP_GCD_DIGITS <= xn && GMP_GCD_DIGITS <= yn) + if (GMP_GCD_DIGITS <= xn || GMP_GCD_DIGITS <= yn) return rb_gcd_gmp(x, y); } #endif |