aboutsummaryrefslogtreecommitdiff
path: root/src/common/Cryptography
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-08-24 11:48:45 +0200
committerShauren <shauren.trinity@gmail.com>2023-08-24 11:48:45 +0200
commit451314241dc40c4e3be600ef95a4f4fbd322f701 (patch)
tree1c55abe5e0027df578a792015254e4b95b8e6d80 /src/common/Cryptography
parent343d09bc95ade0cc34f953b56cbe666baca387fc (diff)
Core/Misc: Modernize comparison operators
(cherry picked from commit f0a862e71bc12d86a898901ef773475a7c964832)
Diffstat (limited to 'src/common/Cryptography')
-rw-r--r--src/common/Cryptography/BigNumber.cpp2
-rw-r--r--src/common/Cryptography/BigNumber.h15
2 files changed, 11 insertions, 6 deletions
diff --git a/src/common/Cryptography/BigNumber.cpp b/src/common/Cryptography/BigNumber.cpp
index 62e459c6dce..35bfc91224d 100644
--- a/src/common/Cryptography/BigNumber.cpp
+++ b/src/common/Cryptography/BigNumber.cpp
@@ -146,7 +146,7 @@ BigNumber& BigNumber::operator<<=(int n)
return *this;
}
-int BigNumber::CompareTo(BigNumber const& bn) const
+int32 BigNumber::CompareTo(BigNumber const& bn) const
{
return BN_cmp(_bn, bn._bn);
}
diff --git a/src/common/Cryptography/BigNumber.h b/src/common/Cryptography/BigNumber.h
index e61a8073c31..bbe2bebb42d 100644
--- a/src/common/Cryptography/BigNumber.h
+++ b/src/common/Cryptography/BigNumber.h
@@ -94,12 +94,17 @@ class TC_COMMON_API BigNumber
return t <<= n;
}
- int CompareTo(BigNumber const& bn) const;
- bool operator<=(BigNumber const& bn) const { return (CompareTo(bn) <= 0); }
+ int32 CompareTo(BigNumber const& bn) const;
bool operator==(BigNumber const& bn) const { return (CompareTo(bn) == 0); }
- bool operator>=(BigNumber const& bn) const { return (CompareTo(bn) >= 0); }
- bool operator<(BigNumber const& bn) const { return (CompareTo(bn) < 0); }
- bool operator>(BigNumber const& bn) const { return (CompareTo(bn) > 0); }
+ std::strong_ordering operator<=>(BigNumber const& other) const
+ {
+ int32 cmp = CompareTo(other);
+ if (cmp < 0)
+ return std::strong_ordering::less;
+ if (cmp > 0)
+ return std::strong_ordering::greater;
+ return std::strong_ordering::equal;
+ }
bool IsZero() const;
bool IsNegative() const;