aboutsummaryrefslogtreecommitdiff
path: root/src/common/Cryptography
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-08-24 00:51:26 +0200
committerShauren <shauren.trinity@gmail.com>2023-08-24 00:51:26 +0200
commitf0a862e71bc12d86a898901ef773475a7c964832 (patch)
treed0dde0ae128a81734d0a2566aef34393b4bdecb3 /src/common/Cryptography
parentf108a50abf82abd0973878ef88fdab47a408238c (diff)
Core/Misc: Modernize comparison operators
Diffstat (limited to 'src/common/Cryptography')
-rw-r--r--src/common/Cryptography/BigNumber.cpp2
-rw-r--r--src/common/Cryptography/BigNumber.h17
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;