diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-03-07 14:15:24 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-03-07 14:15:24 +0000 |
commit | 70d72bf807bf50672e64d431320f2e62c98ba6aa (patch) | |
tree | e42f1b2cf473d184149914b98cd915af8d3e675f | |
parent | 51ae7f6e9aa24a136115dae1853779055bbd9eb4 (diff) | |
download | ruby-70d72bf807bf50672e64d431320f2e62c98ba6aa.tar.gz |
* bignum.c (rb_big_pack): use DIGSPERLONG and BITSPERDIG.
(rb_big_unpack): use DIGSPERLONG.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | bignum.c | 8 |
2 files changed, 9 insertions, 4 deletions
@@ -1,3 +1,8 @@ +Sun Mar 7 23:14:22 2010 Tanaka Akira <akr@fsij.org> + + * bignum.c (rb_big_pack): use DIGSPERLONG and BITSPERDIG. + (rb_big_unpack): use DIGSPERLONG. + Sun Mar 7 19:21:10 2010 Marc-Andre Lafortune <ruby-core@marc-andre.ca> * io.c: Fix documentation for each/each_line/lines, bytes/each_byte, @@ -342,8 +342,8 @@ rb_big_pack(VALUE val, unsigned long *buf, long num_longs) long i, j; for (i = 0; i < num_longs && ds < dend; i++) { unsigned long l = 0; - for (j = 0; j < SIZEOF_LONG/SIZEOF_BDIGITS && ds < dend; j++, ds++) { - l |= ((unsigned long)*ds << (j * SIZEOF_BDIGITS * CHAR_BIT)); + for (j = 0; j < DIGSPERLONG && ds < dend; j++, ds++) { + l |= ((unsigned long)*ds << (j * BITSPERDIG)); } buf[i] = l; } @@ -381,7 +381,7 @@ rb_big_unpack(unsigned long *buf, long num_longs) else { VALUE big; BDIGIT *ds; - long len = num_longs * (SIZEOF_LONG/SIZEOF_BDIGITS); + long len = num_longs * DIGSPERLONG; long i; big = bignew(len, 1); ds = BDIGITS(big); @@ -391,7 +391,7 @@ rb_big_unpack(unsigned long *buf, long num_longs) *ds++ = d; #else int j; - for (j = 0; j < SIZEOF_LONG/SIZEOF_BDIGITS; j++) { + for (j = 0; j < DIGSPERLONG; j++) { *ds++ = BIGLO(d); d = BIGDN(d); } |