* bignum.c (big2str_orig): Refactored.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
81f42c7576
commit
04cf3fa346
@ -1,6 +1,6 @@
|
|||||||
Sat Aug 3 01:40:33 2013 Tanaka Akira <akr@fsij.org>
|
Sat Aug 3 02:22:05 2013 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
* bignum.c (big2str_orig): Rename a local variable.
|
* bignum.c (big2str_orig): Refactored.
|
||||||
|
|
||||||
Sat Aug 3 01:20:19 2013 Tanaka Akira <akr@fsij.org>
|
Sat Aug 3 01:20:19 2013 Tanaka Akira <akr@fsij.org>
|
||||||
|
|
||||||
|
31
bignum.c
31
bignum.c
@ -4251,7 +4251,6 @@ big2str_orig(struct big2str_struct *b2s, VALUE x, size_t taillen)
|
|||||||
{
|
{
|
||||||
long i = RBIGNUM_LEN(x);
|
long i = RBIGNUM_LEN(x);
|
||||||
size_t j;
|
size_t j;
|
||||||
int k;
|
|
||||||
BDIGIT* ds = BDIGITS(x);
|
BDIGIT* ds = BDIGITS(x);
|
||||||
BDIGIT_DBL num;
|
BDIGIT_DBL num;
|
||||||
char buf[SIZEOF_BDIGIT_DBL*CHAR_BIT], *p;
|
char buf[SIZEOF_BDIGIT_DBL*CHAR_BIT], *p;
|
||||||
@ -4271,27 +4270,23 @@ big2str_orig(struct big2str_struct *b2s, VALUE x, size_t taillen)
|
|||||||
return;
|
return;
|
||||||
p = buf;
|
p = buf;
|
||||||
j = sizeof(buf);
|
j = sizeof(buf);
|
||||||
}
|
do {
|
||||||
else {
|
p[--j] = ruby_digitmap[num % b2s->base];
|
||||||
power_cache_get_power(b2s->base, 0, &len);
|
num /= b2s->base;
|
||||||
p = b2s->ptr;
|
} while (num);
|
||||||
j = len;
|
|
||||||
}
|
|
||||||
|
|
||||||
k = b2s->hbase2_numdigits;
|
|
||||||
while (k--) {
|
|
||||||
p[--j] = ruby_digitmap[num % b2s->base];
|
|
||||||
num /= b2s->base;
|
|
||||||
if (j <= 0) break;
|
|
||||||
if (beginning && num == 0) break;
|
|
||||||
}
|
|
||||||
if (beginning) {
|
|
||||||
while (j < sizeof(buf) && buf[j] == '0')
|
|
||||||
j++;
|
|
||||||
len = sizeof(buf) - j;
|
len = sizeof(buf) - j;
|
||||||
big2str_alloc(b2s, len + taillen);
|
big2str_alloc(b2s, len + taillen);
|
||||||
MEMCPY(b2s->ptr, buf + j, char, len);
|
MEMCPY(b2s->ptr, buf + j, char, len);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
p = b2s->ptr;
|
||||||
|
j = b2s->hbase2_numdigits;
|
||||||
|
do {
|
||||||
|
p[--j] = ruby_digitmap[num % b2s->base];
|
||||||
|
num /= b2s->base;
|
||||||
|
} while (j);
|
||||||
|
len = b2s->hbase2_numdigits;
|
||||||
|
}
|
||||||
b2s->ptr += len;
|
b2s->ptr += len;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user