From 192e959b16809f751d565b53a949b21129d904fb Mon Sep 17 00:00:00 2001 From: Benjamin Barenblat Date: Thu, 18 Apr 2024 10:36:51 -0700 Subject: Add `operator<=>` support to `absl::int128` and `absl::uint128` PiperOrigin-RevId: 626080616 Change-Id: If434be2371c1e28f9fd0133f411596bdc38bd222 --- absl/numeric/int128_test.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'absl/numeric/int128_test.cc') diff --git a/absl/numeric/int128_test.cc b/absl/numeric/int128_test.cc index f17a5f6b..3f16e054 100644 --- a/absl/numeric/int128_test.cc +++ b/absl/numeric/int128_test.cc @@ -25,6 +25,7 @@ #include "absl/base/internal/cycleclock.h" #include "absl/hash/hash_testing.h" #include "absl/meta/type_traits.h" +#include "absl/types/compare.h" #define MAKE_INT128(HI, LO) absl::MakeInt128(static_cast(HI), LO) @@ -784,6 +785,13 @@ TEST(Int128, ComparisonTest) { EXPECT_FALSE(pair.smaller >= pair.larger); // NOLINT(readability/check) EXPECT_TRUE(pair.smaller >= pair.smaller); // NOLINT(readability/check) EXPECT_TRUE(pair.larger >= pair.larger); // NOLINT(readability/check) + +#ifdef __cpp_impl_three_way_comparison + EXPECT_EQ(pair.smaller <=> pair.larger, absl::strong_ordering::less); + EXPECT_EQ(pair.larger <=> pair.smaller, absl::strong_ordering::greater); + EXPECT_EQ(pair.smaller <=> pair.smaller, absl::strong_ordering::equal); + EXPECT_EQ(pair.larger <=> pair.larger, absl::strong_ordering::equal); +#endif } } -- cgit v1.2.3