diff options
Diffstat (limited to 'rational.c')
-rw-r--r-- | rational.c | 13 |
1 files changed, 1 insertions, 12 deletions
diff --git a/rational.c b/rational.c index 652f5ace09..8155c5a0f0 100644 --- a/rational.c +++ b/rational.c @@ -952,19 +952,8 @@ nurat_div(VALUE self, VALUE other) other, ONE, '/'); } } - else if (RB_TYPE_P(other, T_FLOAT)) { - { - double x = RFLOAT_VALUE(other), den; - get_dat1(self); - - if (isnan(x)) return DBL2NUM(NAN); - if (isinf(x)) return INT2FIX(0); - if (x != 0.0 && modf(x, &den) == 0.0) { - return rb_rational_raw2(dat->num, f_mul(rb_dbl2big(den), dat->den)); - } - } + else if (RB_TYPE_P(other, T_FLOAT)) return rb_funcall(f_to_f(self), '/', 1, other); - } else if (RB_TYPE_P(other, T_RATIONAL)) { if (f_zero_p(other)) rb_raise_zerodiv(); |