aboutsummaryrefslogtreecommitdiff
path: root/absl/numeric/int128_test.cc
diff options
context:
space:
mode:
authorBenjamin Barenblat <bbaren@google.com>2024-04-18 10:36:51 -0700
committerCopybara-Service <copybara-worker@google.com>2024-04-18 10:37:56 -0700
commit192e959b16809f751d565b53a949b21129d904fb (patch)
tree6305393afc947dc466f88cdd886bd9139b3f8b21 /absl/numeric/int128_test.cc
parent9a61b00dde4031f17ed4fa4bdc0e0e9ad8859846 (diff)
downloadabseil-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.cc8
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
}
}