summaryrefslogtreecommitdiffstats
path: root/vespalib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2020-04-25 22:51:49 +0200
committerTor Egge <Tor.Egge@broadpark.no>2020-04-25 22:58:30 +0200
commitd4bf2e41fab0adce629308de75b3e1763dfadccb (patch)
tree2d4ac70964ab3a16fc46c38d3c7510aec64d8c34 /vespalib
parent35decca41db6b9a44b24b6f7501c84d159ebd6a7 (diff)
Reduce code duplication. Rand48 class is in vespalib.
Diffstat (limited to 'vespalib')
-rw-r--r--vespalib/src/tests/btree/btree_test.cpp2
-rw-r--r--vespalib/src/tests/btree/btreeaggregation_test.cpp2
-rw-r--r--vespalib/src/tests/btree/frozenbtree_test.cpp2
-rw-r--r--vespalib/src/vespa/vespalib/util/rand48.h10
4 files changed, 9 insertions, 7 deletions
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<LeafPair> & 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<LeafPair> & 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 <cstdlib>
+#include <cstdint>
-namespace search {
+namespace vespalib {
/*
* Simple random generator based on lrand48() spec.
@@ -19,19 +21,19 @@ public:
_state = ((static_cast<uint64_t>(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<long>(_state >> 17);
}