summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-07-02 14:49:06 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-07-02 14:49:06 +0000
commitc78826190f5af562cb725c050ff09d439e27b5eb (patch)
tree21dabeb6ac85198f9025462b4801f6caea27548a
parentd74bb62dcceff8810cc60097adfe324ef9dbebc0 (diff)
* bignum.c (roomof): Cast to long.
(rb_ull2big): Fix bignew arguments. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--bignum.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5daca05a0c..b7f2ac3e3e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Jul 2 23:47:50 2013 Tanaka Akira <akr@fsij.org>
+
+ * bignum.c (roomof): Cast to long.
+ (rb_ull2big): Fix bignew arguments.
+
Tue Jul 2 21:17:37 2013 Tanaka Akira <akr@fsij.org>
* bignum.c (rb_cstr_to_inum): Merge two temporary buffers.
diff --git a/bignum.c b/bignum.c
index 7ecfb89a86..20bc8512cd 100644
--- a/bignum.c
+++ b/bignum.c
@@ -80,7 +80,7 @@ static VALUE big_three = Qnil;
rb_absint_size(x, NULL))
#define BIGDIVREM_EXTRA_WORDS 2
-#define roomof(n, m) ((int)(((n)+(m)-1) / (m)))
+#define roomof(n, m) ((long)(((n)+(m)-1) / (m)))
#define bdigit_roomof(n) roomof(n, SIZEOF_BDIGITS)
#define BARY_ARGS(ary) ary, numberof(ary)
@@ -2199,7 +2199,7 @@ static VALUE
rb_ull2big(unsigned LONG_LONG n)
{
long i;
- VALUE big = bignew(DIGSPERLL, bdigit_roomof(SIZEOF_LONG_LONG));
+ VALUE big = bignew(bdigit_roomof(SIZEOF_LONG_LONG), 1);
BDIGIT *digits = BDIGITS(big);
#if SIZEOF_BDIGITS >= SIZEOF_LONG_LONG