From 5edf49dae7319ce03cd909e1d5c5668e9e25911c Mon Sep 17 00:00:00 2001 From: fallenoak Date: Wed, 1 Feb 2023 22:16:58 -0600 Subject: [PATCH] feat(big): add SBigCompare --- storm/Big.cpp | 4 ++++ storm/Big.hpp | 2 ++ test/Big.cpp | 17 +++++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/storm/Big.cpp b/storm/Big.cpp index c3ebc99..dcb2ab7 100644 --- a/storm/Big.cpp +++ b/storm/Big.cpp @@ -7,6 +7,10 @@ void SBigAdd(BigData* a, BigData* b, BigData* c) { Add(a->Primary(), b->Primary(), c->Primary()); } +int32_t SBigCompare(BigData* a, BigData* b) { + return Compare(a->Primary(), b->Primary()); +} + void SBigDel(BigData* num) { delete num; } diff --git a/storm/Big.hpp b/storm/Big.hpp index 9ab6e1d..8b6d7a1 100644 --- a/storm/Big.hpp +++ b/storm/Big.hpp @@ -6,6 +6,8 @@ void SBigAdd(BigData* a, BigData* b, BigData* c); +int32_t SBigCompare(BigData* a, BigData* b); + void SBigDel(BigData* num); void SBigFromBinary(BigData* num, const void* data, uint32_t bytes); diff --git a/test/Big.cpp b/test/Big.cpp index 9ebce01..7acf347 100644 --- a/test/Big.cpp +++ b/test/Big.cpp @@ -459,6 +459,23 @@ TEST_CASE("SBigAdd", "[big]") { } } +TEST_CASE("SBigCompare", "[big]") { + SECTION("compares 10 and 1") { + BigData* a; + SBigNew(&a); + SBigFromUnsigned(a, 10); + + BigData* b; + SBigNew(&b); + SBigFromUnsigned(b, 1); + + CHECK(SBigCompare(a, b) == 1); + + SBigDel(a); + SBigDel(b); + } +} + TEST_CASE("SBigFromBinary", "[big]") { SECTION("creates bigdata from 0") { BigData* num;