diff --git a/src/common/u128.h b/src/common/u128.h index da184d10..71e4bcde 100644 --- a/src/common/u128.h +++ b/src/common/u128.h @@ -69,15 +69,15 @@ inline bool operator<(u128 a, u128 b) { } inline bool operator>(u128 a, u128 b) { - return std::tie(a.upper, a.lower) > std::tie(b.upper, b.lower); + return operator<(b, a); } inline bool operator<=(u128 a, u128 b) { - return std::tie(a.upper, a.lower) <= std::tie(b.upper, b.lower); + return !operator>(a, b); } inline bool operator>=(u128 a, u128 b) { - return std::tie(a.upper, a.lower) >= std::tie(b.upper, b.lower); + return !operator<(a, b); } inline bool operator==(u128 a, u128 b) { @@ -85,7 +85,7 @@ inline bool operator==(u128 a, u128 b) { } inline bool operator!=(u128 a, u128 b) { - return std::tie(a.upper, a.lower) != std::tie(b.upper, b.lower); + return !operator==(a, b); } u128 operator<<(u128 operand, int amount);