diff options
Diffstat (limited to 'third_party/abseil-cpp/absl/base/internal/endian_test.cc')
-rw-r--r-- | third_party/abseil-cpp/absl/base/internal/endian_test.cc | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/third_party/abseil-cpp/absl/base/internal/endian_test.cc b/third_party/abseil-cpp/absl/base/internal/endian_test.cc index a1691b1f82..aa6b849690 100644 --- a/third_party/abseil-cpp/absl/base/internal/endian_test.cc +++ b/third_party/abseil-cpp/absl/base/internal/endian_test.cc @@ -54,22 +54,24 @@ const uint32_t k32ValueBE{0x67452301}; const uint16_t k16ValueBE{0x2301}; #endif -std::vector<uint16_t> GenerateAllUint16Values() { - std::vector<uint16_t> result; - result.reserve(size_t{1} << (sizeof(uint16_t) * 8)); - for (uint32_t i = std::numeric_limits<uint16_t>::min(); - i <= std::numeric_limits<uint16_t>::max(); ++i) { - result.push_back(static_cast<uint16_t>(i)); +template<typename T> +std::vector<T> GenerateAllValuesForType() { + std::vector<T> result; + T next = std::numeric_limits<T>::min(); + while (true) { + result.push_back(next); + if (next == std::numeric_limits<T>::max()) { + return result; + } + ++next; } - return result; } template<typename T> -std::vector<T> GenerateRandomIntegers(size_t num_values_to_test) { +std::vector<T> GenerateRandomIntegers(size_t numValuesToTest) { std::vector<T> result; - result.reserve(num_values_to_test); std::mt19937_64 rng(kRandomSeed); - for (size_t i = 0; i < num_values_to_test; ++i) { + for (size_t i = 0; i < numValuesToTest; ++i) { result.push_back(rng()); } return result; @@ -146,7 +148,7 @@ void Swap64(char* bytes) { } TEST(EndianessTest, Uint16) { - GBSwapHelper(GenerateAllUint16Values(), &Swap16); + GBSwapHelper(GenerateAllValuesForType<uint16_t>(), &Swap16); } TEST(EndianessTest, Uint32) { |