aboutsummaryrefslogtreecommitdiffstats
path: root/bignum.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-20 13:52:19 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-06-20 13:52:19 +0000
commit7e36326c06a40dbe4900883cd180255e3beaa2e5 (patch)
treed4196d8d779ef0f4f36f296bedfdb4462592fb05 /bignum.c
parent94e5fdf3366e4e79924c060dbb1218ed75518dde (diff)
downloadruby-7e36326c06a40dbe4900883cd180255e3beaa2e5.tar.gz
* bignum.c (bignorm): Don't call bigtrunc if the result is a fixnum.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bignum.c')
-rw-r--r--bignum.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/bignum.c b/bignum.c
index b0dc48c59b..be9c1e2740 100644
--- a/bignum.c
+++ b/bignum.c
@@ -322,7 +322,9 @@ static VALUE
bignorm(VALUE x)
{
if (RB_TYPE_P(x, T_BIGNUM)) {
- x = bigfixize(bigtrunc(x));
+ x = bigfixize(x);
+ if (!FIXNUM_P(x))
+ bigtrunc(x);
}
return x;
}