Fixing integer-length for bignums.

This commit is contained in:
Alex Shinn 2012-06-07 00:48:43 +09:00
parent 6ca990016a
commit 25247ee4b5

View file

@ -267,7 +267,7 @@ static sexp sexp_integer_length (sexp ctx, sexp self, sexp_sint_t n, sexp x) {
} else if (sexp_bignump(x)) {
hi = sexp_bignum_hi(x);
return sexp_make_fixnum(integer_log2(sexp_bignum_data(x)[hi])
+ hi*sizeof(sexp_uint_t));
+ hi*sizeof(sexp_uint_t)*CHAR_BIT);
#endif
} else {
return sexp_type_exception(ctx, self, SEXP_FIXNUM, x);