feat(big): add SetZero

This commit is contained in:
fallenoak 2023-01-31 12:17:51 -06:00
parent f1cf4af382
commit 8413214ae0
No known key found for this signature in database
GPG key ID: 7628F8E61AEA070D
3 changed files with 22 additions and 0 deletions

View file

@ -82,6 +82,10 @@ void Mul(BigBuffer& a, const BigBuffer& b, const BigBuffer& c, BigStack& stack)
stack.UnmakeDistinct(a, aa);
}
void SetZero(BigBuffer& buffer) {
buffer.Clear();
}
void ToBinaryAppend(TSGrowableArray<uint8_t>& output, const BigBuffer& buffer) {
for (uint32_t i = 0; i < buffer.Count() * 4; i++) {
auto byte = buffer[i / 4] >> (8 * (i & 3));

View file

@ -21,6 +21,8 @@ void Mul(BigBuffer& a, const BigBuffer& b, uint64_t c);
void Mul(BigBuffer& a, const BigBuffer& b, const BigBuffer& c, BigStack& stack);
void SetZero(BigBuffer& buffer);
void ToBinary(TSGrowableArray<uint8_t>& output, const BigBuffer& buffer);
#endif

View file

@ -420,3 +420,19 @@ TEST_CASE("SBigToBinaryBuffer", "[big]") {
SBigDel(num);
}
}
TEST_CASE("SetZero", "[big]") {
SECTION("sets buffer to zero") {
BigData* num;
SBigNew(&num);
SBigFromUnsigned(num, 0x12345678);
CHECK(num->Primary().Count() == 1);
SetZero(num->Primary());
CHECK(num->Primary().Count() == 0);
SBigDel(num);
}
}