Go to the documentation of this file.
36 #include "params/BloomFilterBulk.hh"
44 (std::numeric_limits<Addr>::digits -
offsetBits),
45 "Sectors need more bits than available");
86 (part1 << 14) | (part2 << 13) | (part3 << 12) | (part4 << 11) |
87 (part5 << 9) | (part6 << 8) | (part7 << 7) | (part8 << 6) |
88 (part9 << 4) | (part10 << 1) | (part11);
91 Addr remaining_bits =
bits(
addr, std::numeric_limits<Addr>::digits - 1,
93 result = result | remaining_bits;
std::vector< SatCounter8 > filter
The filter itself.
const int sectorBits
Number of bits used per sector.
const unsigned offsetBits
Number of LSB bits to ignore from the the addresses.
Bulk(const BloomFilterBulkParams &p)
const int numHashes
Number of hashes.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
std::enable_if_t< std::is_integral< T >::value, int > floorLog2(T x)
Addr permute(Addr addr) const
Permutes the address to generate its signature.
int hash(Addr addr, int hash_number) const override
Apply the selected the hash functions to an address.
The MultiBitSel Bloom Filter associates an address to multiple entries through the use of multiple ha...
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
#define fatal_if(cond,...)
Conditional fatal macro that checks the supplied condition and only causes a fatal error if the condi...
Generated on Tue Mar 23 2021 19:41:24 for gem5 by doxygen 1.8.17