summaryrefslogtreecommitdiff
path: root/src/mem/ruby/filters/H3BloomFilter.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/filters/H3BloomFilter.hh')
-rw-r--r--src/mem/ruby/filters/H3BloomFilter.hh100
1 files changed, 44 insertions, 56 deletions
diff --git a/src/mem/ruby/filters/H3BloomFilter.hh b/src/mem/ruby/filters/H3BloomFilter.hh
index 360000540..6c18508eb 100644
--- a/src/mem/ruby/filters/H3BloomFilter.hh
+++ b/src/mem/ruby/filters/H3BloomFilter.hh
@@ -1,4 +1,3 @@
-
/*
* Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
* All rights reserved.
@@ -27,76 +26,65 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-/*
- * H3BloomFilter.hh
- *
- * Description:
- *
- *
- */
-
-#ifndef H3_BLOOM_FILTER_H
-#define H3_BLOOM_FILTER_H
+#ifndef __MEM_RUBY_FILTERS_H3BLOOMFILTER_HH__
+#define __MEM_RUBY_FILTERS_H3BLOOMFILTER_HH__
#include "mem/gems_common/Map.hh"
-#include "mem/ruby/common/Global.hh"
-#include "mem/ruby/system/System.hh"
-#include "mem/ruby/profiler/Profiler.hh"
#include "mem/ruby/common/Address.hh"
+#include "mem/ruby/common/Global.hh"
#include "mem/ruby/filters/AbstractBloomFilter.hh"
+#include "mem/ruby/profiler/Profiler.hh"
+#include "mem/ruby/system/System.hh"
-class H3BloomFilter : public AbstractBloomFilter {
-public:
-
- ~H3BloomFilter();
- H3BloomFilter(string config);
-
- void clear();
- void increment(const Address& addr);
- void decrement(const Address& addr);
- void merge(AbstractBloomFilter * other_filter);
- void set(const Address& addr);
- void unset(const Address& addr);
-
- bool isSet(const Address& addr);
- int getCount(const Address& addr);
- int getTotalCount();
- void print(ostream& out) const;
-
- int getIndex(const Address& addr);
- int readBit(const int index);
- void writeBit(const int index, const int value);
-
- int operator[](const int index) const{
- return this->m_filter[index];
- }
+class H3BloomFilter : public AbstractBloomFilter
+{
+ public:
+ H3BloomFilter(string config);
+ ~H3BloomFilter();
-private:
+ void clear();
+ void increment(const Address& addr);
+ void decrement(const Address& addr);
+ void merge(AbstractBloomFilter * other_filter);
+ void set(const Address& addr);
+ void unset(const Address& addr);
- int get_index(const Address& addr, int hashNumber);
+ bool isSet(const Address& addr);
+ int getCount(const Address& addr);
+ int getTotalCount();
+ void print(ostream& out) const;
- int hash_H3(uint64 value, int index);
+ int getIndex(const Address& addr);
+ int readBit(const int index);
+ void writeBit(const int index, const int value);
- Vector<int> m_filter;
- int m_filter_size;
- int m_num_hashes;
- int m_filter_size_bits;
+ int
+ operator[](const int index) const
+ {
+ return this->m_filter[index];
+ }
- int m_par_filter_size;
- int m_par_filter_size_bits;
+ private:
+ int get_index(const Address& addr, int hashNumber);
- int m_count_bits;
- int m_count;
+ int hash_H3(uint64 value, int index);
+ Vector<int> m_filter;
+ int m_filter_size;
+ int m_num_hashes;
+ int m_filter_size_bits;
+ int m_par_filter_size;
+ int m_par_filter_size_bits;
- int primes_list[6];// = {9323,11279,10247,30637,25717,43711};
- int mults_list[6]; //= {255,29,51,3,77,43};
- int adds_list[6]; //= {841,627,1555,241,7777,65391};
+ int m_count_bits;
+ int m_count;
- bool isParallel;
+ int primes_list[6];// = {9323,11279,10247,30637,25717,43711};
+ int mults_list[6]; //= {255,29,51,3,77,43};
+ int adds_list[6]; //= {841,627,1555,241,7777,65391};
+ bool isParallel;
};
-
-#endif
+#endif // __MEM_RUBY_FILTERS_H3BLOOMFILTER_HH__