summaryrefslogtreecommitdiff
path: root/src/mem/ruby/filters/H3BloomFilter.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/filters/H3BloomFilter.cc')
-rw-r--r--src/mem/ruby/filters/H3BloomFilter.cc21
1 files changed, 4 insertions, 17 deletions
diff --git a/src/mem/ruby/filters/H3BloomFilter.cc b/src/mem/ruby/filters/H3BloomFilter.cc
index b0d277782..5d6a9558f 100644
--- a/src/mem/ruby/filters/H3BloomFilter.cc
+++ b/src/mem/ruby/filters/H3BloomFilter.cc
@@ -27,7 +27,6 @@
*/
#include "base/intmath.hh"
-#include "base/str.hh"
#include "mem/ruby/filters/H3BloomFilter.hh"
using namespace std;
@@ -354,7 +353,7 @@ static int H3[64][16] = {
394261773, 848616745, 15446017, 517723271, },
};
-H3BloomFilter::H3BloomFilter(string str)
+H3BloomFilter::H3BloomFilter(int size, int hashes, bool parallel)
{
//TODO: change this ugly init code...
primes_list[0] = 9323;
@@ -378,21 +377,9 @@ H3BloomFilter::H3BloomFilter(string str)
adds_list[4] = 7777;
adds_list[5] = 65931;
- vector<string> items;
- tokenize(items, str, '_');
- assert(items.size() == 3);
-
- // head contains filter size, tail contains bit offset from block number
- m_filter_size = atoi(items[0].c_str());
- m_num_hashes = atoi(items[1].c_str());
-
- if (items[2] == "Regular") {
- isParallel = false;
- } else if (items[2] == "Parallel") {
- isParallel = true;
- } else {
- panic("ERROR: Incorrect config string for MultiHash Bloom! :%s", str);
- }
+ m_filter_size = size;
+ m_num_hashes = hashes;
+ isParallel = parallel;
m_filter_size_bits = floorLog2(m_filter_size);