From de0561684c66b1537c316a6ed502eb893307d08d Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 1 May 2008 14:20:15 +0000 Subject: * bignum.c (rb_big_divide): return an integer for idiv. [ruby-dev:34553] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bignum.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'bignum.c') diff --git a/bignum.c b/bignum.c index 8d95877e17..f38e0774ee 100644 --- a/bignum.c +++ b/bignum.c @@ -1815,7 +1815,15 @@ rb_big_divide(VALUE x, VALUE y, ID op) break; case T_FLOAT: - return DOUBLE2NUM(rb_big2dbl(x) / RFLOAT_VALUE(y)); + { + double div = rb_big2dbl(x) / RFLOAT_VALUE(y); + if (op == '/') { + return DOUBLE2NUM(div); + } + else { + return LONG2NUM((long)div); + } + } default: return rb_num_coerce_bin(x, y, op); -- cgit v1.2.3