feat(big): add SBigCopy

This commit is contained in:
Adam Heinermann 2024-11-15 01:20:08 -08:00 committed by superp00t
parent 6801b32a99
commit 94ef375b19
3 changed files with 24 additions and 0 deletions

View file

@ -32,6 +32,10 @@ int32_t SBigCompare(BigData* a, BigData* b) {
return Compare(a->Primary(), b->Primary()); return Compare(a->Primary(), b->Primary());
} }
void SBigCopy(BigData* a, BigData* b) {
a->m_primary = b->m_primary;
}
void SBigDel(BigData* num) { void SBigDel(BigData* num) {
delete num; delete num;
} }

View file

@ -12,6 +12,8 @@ void SBigBitLen(BigData* num, uint32_t* len);
int32_t SBigCompare(BigData* a, BigData* b); int32_t SBigCompare(BigData* a, BigData* b);
void SBigCopy(BigData* a, BigData* b);
void SBigDel(BigData* num); void SBigDel(BigData* num);
void SBigFromBinary(BigData* num, const void* data, uint32_t bytes); void SBigFromBinary(BigData* num, const void* data, uint32_t bytes);

View file

@ -213,6 +213,24 @@ TEST_CASE("SBigCompare", "[big]") {
} }
} }
TEST_CASE("SBigCopy", "[big]") {
BigDataTest a;
BigDataTest b;
SECTION("copies data") {
uint8_t num[] = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 };
SBigFromBinary(a, num, sizeof(num));
SBigFromUnsigned(b, 42);
CHECK(a->Primary().Count() == 4);
SBigCopy(a, b);
CHECK(a->Primary().Count() == 1);
CHECK(a->Primary()[0] == 42);
}
}
TEST_CASE("SBigFromBinary", "[big]") { TEST_CASE("SBigFromBinary", "[big]") {
SECTION("creates bigdata from 0") { SECTION("creates bigdata from 0") {
BigData* num; BigData* num;