bignum: rename bn_digitcount to bn_maxdigitcount (can return value one higher than the real result)

pull/25/head
Pavol Rusnak 7 years ago
parent fd78df0e57
commit 5dbdf18b6c
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

@ -999,7 +999,7 @@ size_t bn_format(const bignum256 *amnt, const char *prefix, const char *suffix,
BN_FORMAT_PUSH(0); BN_FORMAT_PUSH(0);
} }
unsigned int digits = bn_digitcount(&val); unsigned int digits = bn_maxdigitcount(&val);
for (unsigned int i = 0; i < digits / 3; i++) { for (unsigned int i = 0; i < digits / 3; i++) {
uint32_t limb; uint32_t limb;
bn_divmod1000(&val, &limb); bn_divmod1000(&val, &limb);

@ -83,7 +83,7 @@ static inline void bn_copy(const bignum256 *a, bignum256 *b) {
int bn_bitcount(const bignum256 *a); int bn_bitcount(const bignum256 *a);
static inline int bn_digitcount(const bignum256 *a) static inline int bn_maxdigitcount(const bignum256 *a)
{ {
int bitcount = bn_bitcount(a); int bitcount = bn_bitcount(a);

@ -371,7 +371,7 @@ START_TEST(test_bignum_digitcount)
bignum256 a; bignum256 a;
bn_zero(&a); bn_zero(&a);
ck_assert_int_eq(bn_digitcount(&a), 1); ck_assert_int_eq(bn_maxdigitcount(&a), 1);
// test for 10000 and 99999 when i=5 // test for 10000 and 99999 when i=5
for (int i = 1; i <= 19; i++) { for (int i = 1; i <= 19; i++) {
@ -382,19 +382,19 @@ START_TEST(test_bignum_digitcount)
n = n * 10 + 9; n = n * 10 + 9;
} }
bn_read_uint64(m, &a); bn_read_uint64(m, &a);
ck_assert_int_eq(bn_digitcount(&a), i); ck_assert_int_eq(bn_maxdigitcount(&a), i);
bn_read_uint64(n, &a); bn_read_uint64(n, &a);
ck_assert_int_eq(bn_digitcount(&a), i); ck_assert_int_eq(bn_maxdigitcount(&a), i + 1);
} }
bn_read_uint32(0x3fffffff, &a); bn_read_uint32(0x3fffffff, &a);
ck_assert_int_eq(bn_digitcount(&a), 10); ck_assert_int_eq(bn_maxdigitcount(&a), 10);
bn_read_uint32(0xffffffff, &a); bn_read_uint32(0xffffffff, &a);
ck_assert_int_eq(bn_digitcount(&a), 10); ck_assert_int_eq(bn_maxdigitcount(&a), 10);
bn_read_be(fromhex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), &a); bn_read_be(fromhex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), &a);
ck_assert_int_eq(bn_digitcount(&a), 78); ck_assert_int_eq(bn_maxdigitcount(&a), 78);
} }
END_TEST END_TEST

Loading…
Cancel
Save