diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-21 10:40:19 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-06-21 10:40:19 +0000 |
commit | c54a1abde3753fe94176ef959342a5972eae0e73 (patch) | |
tree | b193dbc19a633d25f18bc64744e9782451c73fe1 /bignum.c | |
parent | 90be342c9ffac1f2d23e672911b0499a8cd5bac9 (diff) | |
download | ruby-c54a1abde3753fe94176ef959342a5972eae0e73.tar.gz |
* 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
Diffstat (limited to 'bignum.c')
-rw-r--r-- | bignum.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -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<l2; i++) { - zds[i] = sign?ds2[i]:(BDIGIT)(BIGRAD-1); + zds[i] = sign?ds2[i]:BDIGMAX; } if (!RBIGNUM_SIGN(z)) get2comp(z); return bignorm(z); |