summaryrefslogtreecommitdiff
path: root/src/mem/ruby/filters/H3BloomFilter.cc
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2015-09-23 11:23:10 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2015-09-23 11:23:10 -0500
commit6bd7aa1f201253905458efaf8bf1202ffbd0d70a (patch)
tree8af1f7b38eb685934c37e189fa98492bd08c1162 /src/mem/ruby/filters/H3BloomFilter.cc
parentc2376918a5a43febbd89a5211c411e6d31ada28f (diff)
downloadgem5-6bd7aa1f201253905458efaf8bf1202ffbd0d70a.tar.xz
ruby: bloom filters: refactor code
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);