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) */ } /*