summaryrefslogtreecommitdiffstats
path: root/vespalib/src/tests/left_right_heap/left_right_heap_bench.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'vespalib/src/tests/left_right_heap/left_right_heap_bench.cpp')
-rw-r--r--vespalib/src/tests/left_right_heap/left_right_heap_bench.cpp40
1 files changed, 23 insertions, 17 deletions
diff --git a/vespalib/src/tests/left_right_heap/left_right_heap_bench.cpp b/vespalib/src/tests/left_right_heap/left_right_heap_bench.cpp
index 114786bf2eb..5699adfb760 100644
--- a/vespalib/src/tests/left_right_heap/left_right_heap_bench.cpp
+++ b/vespalib/src/tests/left_right_heap/left_right_heap_bench.cpp
@@ -74,26 +74,32 @@ struct Data32p {
size_t size;
std::vector<uint32_t> values;
std::vector<uint16_t> data;
- Data32p(size_t s) : cmp(0), size(s), values(), data() {}
+ Data32p(size_t s);
+ ~Data32p();
static const char *name() { return "uint32_t[uint16_t]"; }
- void init(bool inv) {
- values.resize(size);
- data.resize(size);
- srandom(42);
- for (size_t i = 0; i < size; ++i) {
- if (inv) {
- values[size - i - 1] = random();
- data[size - i - 1] = (size - i - 1);
- } else {
- values[i] = random();
- data[i] = i;
- }
+ void init(bool inv);
+};
+
+Data32p::Data32p(size_t s) : cmp(0), size(s), values(), data() {}
+Data32p::~Data32p() {}
+void
+Data32p::init(bool inv) {
+ values.resize(size);
+ data.resize(size);
+ srandom(42);
+ for (size_t i = 0; i < size; ++i) {
+ if (inv) {
+ values[size - i - 1] = random();
+ data[size - i - 1] = (size - i - 1);
+ } else {
+ values[i] = random();
+ data[i] = i;
}
- ASSERT_EQUAL(size, values.size());
- ASSERT_EQUAL(size, data.size());
- cmp = MyCmp(&values[0]);
}
-};
+ ASSERT_EQUAL(size, values.size());
+ ASSERT_EQUAL(size, data.size());
+ cmp = MyCmp(&values[0]);
+}
template <typename T, typename C>
bool verifyOrder(T *begin, T *end, const C &cmp, bool inv) {