diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2019-03-19 13:25:00 +0100 |
---|---|---|
committer | Tor Egge <Tor.Egge@broadpark.no> | 2019-03-19 13:25:00 +0100 |
commit | 07a359ac7ed8e6feab05e7b19c172a2226a9ab5e (patch) | |
tree | a12d6ff5223beb3ee26c1aac9f932c8ffefc925c /vespalib/src/tests/optimized | |
parent | 43b44b6d1fba5c5c7eb982716119bf37aeeb7604 (diff) |
Use fundamental integer types in vespalib::Optimized.
Diffstat (limited to 'vespalib/src/tests/optimized')
-rw-r--r-- | vespalib/src/tests/optimized/optimized_test.cpp | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/vespalib/src/tests/optimized/optimized_test.cpp b/vespalib/src/tests/optimized/optimized_test.cpp index 21442859107..2146cb9353f 100644 --- a/vespalib/src/tests/optimized/optimized_test.cpp +++ b/vespalib/src/tests/optimized/optimized_test.cpp @@ -12,6 +12,8 @@ private: void testMsbIdx(); template<typename T> void testLsbIdx(); + template<typename T> + void testPopCount(); public: int Main() override; }; @@ -47,24 +49,31 @@ void Test::testLsbIdx() } } +template<typename T> +void Test::testPopCount() +{ + EXPECT_EQUAL(0, Optimized::popCount(T(0))); + EXPECT_EQUAL(1, Optimized::popCount(T(1))); + EXPECT_EQUAL(int(8 * sizeof(T)), Optimized::popCount(T(-1))); +} + int Test::Main() { TEST_INIT("optimized_test"); - testMsbIdx<uint32_t>(); - testMsbIdx<uint64_t>(); + testMsbIdx<unsigned int>(); + testMsbIdx<unsigned long>(); + testMsbIdx<unsigned long long>(); TEST_FLUSH(); - testLsbIdx<uint32_t>(); - testLsbIdx<uint64_t>(); + testLsbIdx<unsigned int>(); + testLsbIdx<unsigned long>(); + testLsbIdx<unsigned long long>(); TEST_FLUSH(); - EXPECT_EQUAL(Optimized::popCount(0u), 0); - EXPECT_EQUAL(Optimized::popCount(1u), 1); - EXPECT_EQUAL(Optimized::popCount(uint32_t(-1)), 32); - EXPECT_EQUAL(Optimized::popCount(0ul), 0); - EXPECT_EQUAL(Optimized::popCount(1ul), 1); - EXPECT_EQUAL(Optimized::popCount(uint64_t(-1l)), 64); + testPopCount<unsigned int>(); + testPopCount<unsigned long>(); + testPopCount<unsigned long long>(); TEST_FLUSH(); TEST_DONE(); |