mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* bignum.c (bigmul1): C99ism.
* bignum.c (bigdivrem1): need dummy return value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
dec6ba8a22
commit
4b8ebed41c
2 changed files with 11 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
Wed Dec 19 20:40:01 2007 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
|
* bignum.c (bigmul1): C99ism.
|
||||||
|
|
||||||
|
* bignum.c (bigdivrem1): need dummy return value.
|
||||||
|
|
||||||
Wed Dec 19 19:18:06 2007 NARUSE, Yui <naruse@ruby-lang.org>
|
Wed Dec 19 19:18:06 2007 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
* ext/nkf/nkf-utf8/nkf.c: Updated.
|
* ext/nkf/nkf-utf8/nkf.c: Updated.
|
||||||
|
|
8
bignum.c
8
bignum.c
|
@ -1467,8 +1467,9 @@ bigmul1(void *ptr)
|
||||||
zds = BDIGITS(z);
|
zds = BDIGITS(z);
|
||||||
while (j--) zds[j] = 0;
|
while (j--) zds[j] = 0;
|
||||||
for (i = 0; i < RBIGNUM_LEN(x); i++) {
|
for (i = 0; i < RBIGNUM_LEN(x); i++) {
|
||||||
|
BDIGIT_DBL dd;
|
||||||
if (bms->stop) return Qnil;
|
if (bms->stop) return Qnil;
|
||||||
BDIGIT_DBL dd = BDIGITS(x)[i];
|
dd = BDIGITS(x)[i];
|
||||||
if (dd == 0) continue;
|
if (dd == 0) continue;
|
||||||
n = 0;
|
n = 0;
|
||||||
for (j = 0; j < RBIGNUM_LEN(y); j++) {
|
for (j = 0; j < RBIGNUM_LEN(y); j++) {
|
||||||
|
@ -1555,7 +1556,7 @@ bigdivrem1(void *ptr)
|
||||||
if (nx < ny || (nx == ny && BDIGITS(x)[nx - 1] < BDIGITS(y)[ny - 1])) {
|
if (nx < ny || (nx == ny && BDIGITS(x)[nx - 1] < BDIGITS(y)[ny - 1])) {
|
||||||
if (divp) *divp = rb_int2big(0);
|
if (divp) *divp = rb_int2big(0);
|
||||||
if (modp) *modp = x;
|
if (modp) *modp = x;
|
||||||
return;
|
return Qnil;
|
||||||
}
|
}
|
||||||
xds = BDIGITS(x);
|
xds = BDIGITS(x);
|
||||||
if (ny == 1) {
|
if (ny == 1) {
|
||||||
|
@ -1574,7 +1575,7 @@ bigdivrem1(void *ptr)
|
||||||
RBIGNUM_SET_SIGN(*modp, RBIGNUM_SIGN(x));
|
RBIGNUM_SET_SIGN(*modp, RBIGNUM_SIGN(x));
|
||||||
}
|
}
|
||||||
if (divp) *divp = z;
|
if (divp) *divp = z;
|
||||||
return;
|
return Qnil;
|
||||||
}
|
}
|
||||||
z = bignew(nx==ny?nx+2:nx+1, RBIGNUM_SIGN(x)==RBIGNUM_SIGN(y));
|
z = bignew(nx==ny?nx+2:nx+1, RBIGNUM_SIGN(x)==RBIGNUM_SIGN(y));
|
||||||
zds = BDIGITS(z);
|
zds = BDIGITS(z);
|
||||||
|
@ -1666,6 +1667,7 @@ bigdivrem1(void *ptr)
|
||||||
RBIGNUM_SET_LEN(*modp, ny);
|
RBIGNUM_SET_LEN(*modp, ny);
|
||||||
RBIGNUM_SET_SIGN(*modp, RBIGNUM_SIGN(x));
|
RBIGNUM_SET_SIGN(*modp, RBIGNUM_SIGN(x));
|
||||||
}
|
}
|
||||||
|
return Qnil;
|
||||||
}
|
}
|
||||||
|
|
||||||
static VALUE
|
static VALUE
|
||||||
|
|
Loading…
Add table
Reference in a new issue