From d4bf2e41fab0adce629308de75b3e1763dfadccb Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Sat, 25 Apr 2020 22:51:49 +0200 Subject: Reduce code duplication. Rand48 class is in vespalib. --- vespalib/src/tests/btree/btree_test.cpp | 2 +- vespalib/src/tests/btree/btreeaggregation_test.cpp | 2 +- vespalib/src/tests/btree/frozenbtree_test.cpp | 2 +- vespalib/src/vespa/vespalib/util/rand48.h | 10 ++++++---- 4 files changed, 9 insertions(+), 7 deletions(-) (limited to 'vespalib') diff --git a/vespalib/src/tests/btree/btree_test.cpp b/vespalib/src/tests/btree/btree_test.cpp index 4090283c10f..042a1f69bb2 100644 --- a/vespalib/src/tests/btree/btree_test.cpp +++ b/vespalib/src/tests/btree/btree_test.cpp @@ -673,7 +673,7 @@ void generateData(std::vector & data, size_t numEntries) { data.reserve(numEntries); - Rand48 rnd; + vespalib::Rand48 rnd; rnd.srand48(10); for (size_t i = 0; i < numEntries; ++i) { int num = rnd.lrand48() % 10000000; diff --git a/vespalib/src/tests/btree/btreeaggregation_test.cpp b/vespalib/src/tests/btree/btreeaggregation_test.cpp index 92d8955ab93..b64bbb105c5 100644 --- a/vespalib/src/tests/btree/btreeaggregation_test.cpp +++ b/vespalib/src/tests/btree/btreeaggregation_test.cpp @@ -709,7 +709,7 @@ void generateData(std::vector & data, size_t numEntries) { data.reserve(numEntries); - Rand48 rnd; + vespalib::Rand48 rnd; rnd.srand48(10); for (size_t i = 0; i < numEntries; ++i) { int num = rnd.lrand48() % 10000000; diff --git a/vespalib/src/tests/btree/frozenbtree_test.cpp b/vespalib/src/tests/btree/frozenbtree_test.cpp index 597c2ffdc90..42410d824e8 100644 --- a/vespalib/src/tests/btree/frozenbtree_test.cpp +++ b/vespalib/src/tests/btree/frozenbtree_test.cpp @@ -47,7 +47,7 @@ private: NodeAllocator *_allocator; Tree *_tree; - Rand48 _randomGenerator; + vespalib::Rand48 _randomGenerator; void allocTree(); void freeTree(bool verbose); diff --git a/vespalib/src/vespa/vespalib/util/rand48.h b/vespalib/src/vespa/vespalib/util/rand48.h index 441f8e6e10f..3ebfe00ba35 100644 --- a/vespalib/src/vespa/vespalib/util/rand48.h +++ b/vespalib/src/vespa/vespalib/util/rand48.h @@ -2,8 +2,10 @@ #pragma once +#include +#include -namespace search { +namespace vespalib { /* * Simple random generator based on lrand48() spec. @@ -19,19 +21,19 @@ public: _state = ((static_cast(seed & 0xffffffffu)) << 16) + 0x330e; } - Rand48(void) + Rand48() : _state(0) { srand48(0x1234abcd); }; - void iterate(void) { + void iterate() { _state = (UINT64_C(0x5DEECE66D) * _state + 0xb) & UINT64_C(0xFFFFFFFFFFFF); } /* * Return value from 0 to 2^31 - 1 */ - long lrand48(void) { + long lrand48() { iterate(); return static_cast(_state >> 17); } -- cgit v1.2.3