fix(baseN): zero counting, speedtests
This commit is contained in:
@ -41,7 +41,7 @@ namespace baseN
|
|||||||
idx_str = enc_size - 1;
|
idx_str = enc_size - 1;
|
||||||
uint16_t div = data[idx_div++];
|
uint16_t div = data[idx_div++];
|
||||||
|
|
||||||
while (data[zero_count] == 0)
|
while (zero_count < (int64_t)data_size && data[zero_count] == 0)
|
||||||
{
|
{
|
||||||
zero_count++;
|
zero_count++;
|
||||||
}
|
}
|
||||||
@ -113,7 +113,7 @@ namespace baseN
|
|||||||
idx_quo_last = dec_size - 2;
|
idx_quo_last = dec_size - 2;
|
||||||
uint16_t div;
|
uint16_t div;
|
||||||
|
|
||||||
while (str[zero_count] == digits[0])
|
while (str[zero_count] != '\0' && str[zero_count] == digits[0])
|
||||||
{
|
{
|
||||||
zero_count++;
|
zero_count++;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,10 +39,10 @@ TEST(baseN, encode)
|
|||||||
EXPECT_EQ("KyKXa", encode(hex::decode("0ccbd755"), 58, b58digits));
|
EXPECT_EQ("KyKXa", encode(hex::decode("0ccbd755"), 58, b58digits));
|
||||||
EXPECT_EQ("KyKXaa", encode(hex::decode("02e62ec963"), 58, b58digits));
|
EXPECT_EQ("KyKXaa", encode(hex::decode("02e62ec963"), 58, b58digits));
|
||||||
}
|
}
|
||||||
// TEST(baseN, encode_1e6)
|
// TEST(baseN, encode_1e3)
|
||||||
// {
|
// {
|
||||||
// std::vector<uint8_t> data(1e6);
|
// std::vector<uint8_t> data(1e3);
|
||||||
// encode(data);
|
// encode(data, 58, b58digits, data.size() * 138 / 100 + 1);
|
||||||
// }
|
// }
|
||||||
TEST(baseN, decode)
|
TEST(baseN, decode)
|
||||||
{
|
{
|
||||||
@ -52,10 +52,10 @@ TEST(baseN, decode)
|
|||||||
EXPECT_EQ(hex::encode(decode("KyKXa", 58, b58digits, b58map)), "0ccbd755");
|
EXPECT_EQ(hex::encode(decode("KyKXa", 58, b58digits, b58map)), "0ccbd755");
|
||||||
EXPECT_EQ(hex::encode(decode("KyKXaa", 58, b58digits, b58map)), "02e62ec963");
|
EXPECT_EQ(hex::encode(decode("KyKXaa", 58, b58digits, b58map)), "02e62ec963");
|
||||||
}
|
}
|
||||||
// TEST(baseN, decode_1e6)
|
// TEST(baseN, decode_1e4)
|
||||||
// {
|
// {
|
||||||
// std::string str(1e6, '0');
|
// std::string str(1e4, '1');
|
||||||
// decode(str);
|
// decode(str, 58, b58digits, b58map, str.size() * 733 / 1000 + 1);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
|
|||||||
Reference in New Issue
Block a user