diff options
| author | Shauren <shauren.trinity@gmail.com> | 2023-08-24 11:48:45 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2023-08-24 11:48:45 +0200 |
| commit | 451314241dc40c4e3be600ef95a4f4fbd322f701 (patch) | |
| tree | 1c55abe5e0027df578a792015254e4b95b8e6d80 /src/common/Cryptography | |
| parent | 343d09bc95ade0cc34f953b56cbe666baca387fc (diff) | |
Core/Misc: Modernize comparison operators
(cherry picked from commit f0a862e71bc12d86a898901ef773475a7c964832)
Diffstat (limited to 'src/common/Cryptography')
| -rw-r--r-- | src/common/Cryptography/BigNumber.cpp | 2 | ||||
| -rw-r--r-- | src/common/Cryptography/BigNumber.h | 15 |
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; |
