diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | bignum.c | 4 |
2 files changed, 6 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Mon Oct 30 19:29:20 2006 NAKAMURA Usaku <usa@ruby-lang.org> + + * bignum.c (rb_big2str0): use better approximation. + Mon Oct 30 18:35:33 2006 Yukihiro Matsumoto <matz@ruby-lang.org> * bignum.c (rb_big2str0): wrong allocation length. a patch from @@ -636,7 +636,7 @@ rb_big2str0(x, base, trim) switch (base) { case 2: break; case 3: - j = j * 647L / 1024; + j = j * 53L / 84 + 1; break; case 4: case 5: case 6: case 7: j /= 2; @@ -645,7 +645,7 @@ rb_big2str0(x, base, trim) j /= 3; break; case 10: case 11: case 12: case 13: case 14: case 15: - j = j * 241L / 800 + 1; + j = j * 28L / 93 + 1; break; case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: |