diff options
| author | Shauren <shauren.trinity@gmail.com> | 2023-08-24 00:51:26 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2023-08-24 00:51:26 +0200 |
| commit | f0a862e71bc12d86a898901ef773475a7c964832 (patch) | |
| tree | d0dde0ae128a81734d0a2566aef34393b4bdecb3 /src/common/Cryptography | |
| parent | f108a50abf82abd0973878ef88fdab47a408238c (diff) | |
Core/Misc: Modernize comparison operators
Diffstat (limited to 'src/common/Cryptography')
| -rw-r--r-- | src/common/Cryptography/BigNumber.cpp | 2 | ||||
| -rw-r--r-- | src/common/Cryptography/BigNumber.h | 17 |
2 files changed, 12 insertions, 7 deletions
diff --git a/src/common/Cryptography/BigNumber.cpp b/src/common/Cryptography/BigNumber.cpp index 6839cbc9255..b9f6a1c947c 100644 --- a/src/common/Cryptography/BigNumber.cpp +++ b/src/common/Cryptography/BigNumber.cpp @@ -132,7 +132,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..d36c8a9f718 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); } - 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); } + int32 CompareTo(BigNumber const& bn) const; + 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; |
