summaryrefslogtreecommitdiffstats
path: root/include/shard/Alias.h
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2023-11-07 12:29:03 -0500
committerDouglas Rumbaugh <dbr4@psu.edu>2023-11-07 12:29:03 -0500
commita2fe4b1616a1b2318f70e842382818ee44aea9e6 (patch)
tree40a3dcac716ded595d917d845b255f54b941260a /include/shard/Alias.h
parente02742b07540dd5a9bcbb44dae14856bf10955ed (diff)
downloaddynamic-extension-a2fe4b1616a1b2318f70e842382818ee44aea9e6.tar.gz
Alias shard fixes
Diffstat (limited to 'include/shard/Alias.h')
-rw-r--r--include/shard/Alias.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/shard/Alias.h b/include/shard/Alias.h
index b6b16c5..a4a7d02 100644
--- a/include/shard/Alias.h
+++ b/include/shard/Alias.h
@@ -19,7 +19,7 @@
#include "psu-ds/PriorityQueue.h"
#include "util/Cursor.h"
-#include "psu-ds/psudb::Alias.h"
+#include "psu-ds/Alias.h"
#include "psu-ds/BloomFilter.h"
#include "util/bf_config.h"
@@ -207,7 +207,13 @@ public:
return 0;
}
-private:
+ W get_total_weight() {
+ return m_total_weight;
+ }
+
+ size_t get_weighted_sample(gsl_rng *rng) const {
+ return m_alias->get(rng);
+ }
size_t get_lower_bound(const K& key) const {
size_t min = 0;
@@ -227,6 +233,8 @@ private:
return min;
}
+private:
+
void build_alias_structure(std::vector<W> &weights) {
// normalize the weights vector
@@ -249,3 +257,4 @@ private:
size_t m_alloc_size;
BloomFilter<R> *m_bf;
};
+}