40 m_filter_size_bits =
floorLog2(m_filter_size);
42 m_filter.resize(m_filter_size);
54 for (
int i = 0;
i < m_filter_size;
i++) {
80 int i = get_index(addr);
87 int i = get_index(addr);
94 int i = get_index(addr);
101 return m_filter[get_index(addr)];
109 for (
int i = 0;
i < m_filter_size;
i++) {
120 return get_index(addr);
131 return m_filter[
index];
137 m_filter[
index] = value;
152 m_filter_size_bits - 1);
153 int index = block_bits ^ other_bits;
154 assert(index < m_filter_size);
Addr bitSelect(Addr addr, unsigned int small, unsigned int big)
void increment(Addr addr)
void decrement(Addr addr)
BlockBloomFilter(int size)
void writeBit(const int index, const int value)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
int floorLog2(unsigned x)
void merge(AbstractBloomFilter *other_filter)
static uint32_t getBlockSizeBits()
int readBit(const int index)
void print(std::ostream &out) const