From d89308284195390278ccb4a2ea896b6424adc3e7 Mon Sep 17 00:00:00 2001 From: akr Date: Tue, 4 Jun 2013 09:42:25 +0000 Subject: [PATCH] * bignum.c (bitlength_bdigit): Fix an off-by-one error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ bignum.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5ae31b5028..598abc7cf3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Jun 4 18:41:47 2013 Tanaka Akira + + * bignum.c (bitlength_bdigit): Fix an off-by-one error. + Tue Jun 4 15:30:00 2013 Kenta Murata * ext/bigdecimal/lib/bigdecimal/util.rb (Float#to_d): fix the number diff --git a/bignum.c b/bignum.c index 820eff0fb4..c197ccaca9 100644 --- a/bignum.c +++ b/bignum.c @@ -3193,7 +3193,7 @@ bitlength_bdigit(BDIGIT v) v++; if (v == 0) return SIZEOF_BDIGITS*CHAR_BIT; - return ffs(v); /* assumption: sizeof(BDIGIT) <= sizeof(int) */ + return ffs(v)-1; /* assumption: sizeof(BDIGIT) <= sizeof(int) */ } /*