diff options
author | Benjamin Barenblat <bbaren@google.com> | 2024-04-18 10:36:51 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2024-04-18 10:37:56 -0700 |
commit | 192e959b16809f751d565b53a949b21129d904fb (patch) | |
tree | 6305393afc947dc466f88cdd886bd9139b3f8b21 /absl/numeric/int128_test.cc | |
parent | 9a61b00dde4031f17ed4fa4bdc0e0e9ad8859846 (diff) | |
download | abseil-192e959b16809f751d565b53a949b21129d904fb.tar.gz abseil-192e959b16809f751d565b53a949b21129d904fb.tar.bz2 abseil-192e959b16809f751d565b53a949b21129d904fb.zip |
Add `operator<=>` support to `absl::int128` and `absl::uint128`
PiperOrigin-RevId: 626080616
Change-Id: If434be2371c1e28f9fd0133f411596bdc38bd222
Diffstat (limited to 'absl/numeric/int128_test.cc')
-rw-r--r-- | absl/numeric/int128_test.cc | 8 |
1 files changed, 8 insertions, 0 deletions
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<int64_t>(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 } } |