From c54a1abde3753fe94176ef959342a5972eae0e73 Mon Sep 17 00:00:00 2001 From: akr Date: Fri, 21 Jun 2013 10:40:19 +0000 Subject: [PATCH] * bignum.c (BDIGMAX): Use BIGRAD. (BIGLO): Use BDIGMAX. (bigdivrem1): Ditto. (bigor_int): Ditto. (rb_big_or): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ bignum.c | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index ed1e534f7d..92a464ee60 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Fri Jun 21 19:38:37 2013 Tanaka Akira + + * bignum.c (BDIGMAX): Use BIGRAD. + (BIGLO): Use BDIGMAX. + (bigdivrem1): Ditto. + (bigor_int): Ditto. + (rb_big_or): Ditto. + Fri Jun 21 19:18:48 2013 Tanaka Akira * pack.c (pack_pack): Move the implementation for 'c' directive after diff --git a/bignum.c b/bignum.c index 730eb6a6af..cc26f072a8 100644 --- a/bignum.c +++ b/bignum.c @@ -45,8 +45,8 @@ static VALUE big_three = Qnil; #endif #define BIGUP(x) ((BDIGIT_DBL)(x) << BITSPERDIG) #define BIGDN(x) RSHIFT((x),BITSPERDIG) -#define BIGLO(x) ((BDIGIT)((x) & (BIGRAD-1))) -#define BDIGMAX ((BDIGIT)-1) +#define BIGLO(x) ((BDIGIT)((x) & BDIGMAX)) +#define BDIGMAX ((BDIGIT)(BIGRAD-1)) #define BIGZEROP(x) (RBIGNUM_LEN(x) == 0 || \ (BDIGITS(x)[0] == 0 && \ @@ -3834,7 +3834,7 @@ bigdivrem1(void *ptr) bds->j = j; return 0; } - if (zds[j] == yds[ny-1]) q = (BDIGIT)BIGRAD-1; + if (zds[j] == yds[ny-1]) q = BDIGMAX; else q = (BDIGIT)((BIGUP(zds[j]) + zds[j-1])/yds[ny-1]); if (q) { i = bds->nyzero; num = 0; t2 = 0; @@ -4542,7 +4542,7 @@ bigor_int(VALUE x, long y) } #endif while (i < xn) { - zds[i] = sign?xds[i]:(BDIGIT)(BIGRAD-1); + zds[i] = sign?xds[i]:BDIGMAX; i++; } if (!RBIGNUM_SIGN(z)) get2comp(z); @@ -4603,7 +4603,7 @@ rb_big_or(VALUE xx, VALUE yy) zds[i] = ds1[i] | ds2[i]; } for (; i