summaryrefslogtreecommitdiff
path: root/bignum.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-08 02:47:02 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-08 02:47:02 +0000
commit4307340208f8b406708bcfb8d5583f6c4dfa7bc0 (patch)
treea1b6c2bfaa84a753c367fe00a8ed98cd9e9e0b87 /bignum.c
parentac2557e09fab847d48718222d351c16fff9432d0 (diff)
* bignum.c (bigzero_p): removing BDIGITS() inside of the
loop. inspired by Hitohiro Kanai's blog entry <http://d.hatena.ne.jp/CanI/20090807/1249657492>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24444 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 bd9e0c8cae..9fa1f2aab3 100644
--- a/bignum.c
+++ b/bignum.c
@@ -46,8 +46,10 @@ static int
bigzero_p(VALUE x)
{
long i;
+ BDIGIT *ds = BDIGITS(x);
+
for (i = RBIGNUM_LEN(x) - 1; 0 <= i; i--) {
- if (BDIGITS(x)[i]) return 0;
+ if (ds[i]) return 0;
}
return 1;
}