feat(big): add SBigToUnsigned

This commit is contained in:
Adam Heinermann 2024-11-17 04:02:44 -08:00 committed by fallenoak
parent 208dd8a2a5
commit aaa44dd400
6 changed files with 37 additions and 1 deletions

View file

@ -143,6 +143,10 @@ void SBigToBinaryBuffer(BigData* num, uint8_t* data, uint32_t maxBytes, uint32_t
}
}
void SBigToUnsigned(BigData* num, uint32_t* val) {
ToUnsigned(val, num->Primary());
}
void SBigXor(BigData* a, BigData* b, BigData* c) {
Xor(a->Primary(), b->Primary(), c->Primary());
}

View file

@ -60,4 +60,6 @@ void SBigToBinaryBuffer(BigData* num, uint8_t* data, uint32_t maxBytes, uint32_t
void SBigXor(BigData* a, BigData* b, BigData* c);
void SBigToUnsigned(BigData* num, uint32_t* val);
#endif

View file

@ -483,6 +483,11 @@ void ToStream(TSGrowableArray<uint8_t>& output, const BigBuffer& buffer) {
ToBinaryAppend(output, buffer);
}
void ToUnsigned(uint32_t* a, const BigBuffer& b) {
*a = 0;
*a = b[0];
}
void Xor(BigBuffer& a, const BigBuffer& b, const BigBuffer& c) {
uint32_t i = 0;
for (; b.IsUsed(i) || c.IsUsed(i); i++) {

View file

@ -75,6 +75,8 @@ void ToBinary(TSGrowableArray<uint8_t>& output, const BigBuffer& buffer);
void ToStream(TSGrowableArray<uint8_t>& output, const BigBuffer& buffer);
void ToUnsigned(uint32_t* a, const BigBuffer& b);
void Xor(BigBuffer& a, const BigBuffer& b, const BigBuffer& c);
#endif