summaryrefslogtreecommitdiffstats
path: root/vespalib/src/tests/optimized
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2019-03-19 13:25:00 +0100
committerTor Egge <Tor.Egge@broadpark.no>2019-03-19 13:25:00 +0100
commit07a359ac7ed8e6feab05e7b19c172a2226a9ab5e (patch)
treea12d6ff5223beb3ee26c1aac9f932c8ffefc925c /vespalib/src/tests/optimized
parent43b44b6d1fba5c5c7eb982716119bf37aeeb7604 (diff)
Use fundamental integer types in vespalib::Optimized.
Diffstat (limited to 'vespalib/src/tests/optimized')
-rw-r--r--vespalib/src/tests/optimized/optimized_test.cpp29
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();