BloomFilter.build constructor
BloomFilter.build(})
Builds a filter over keys.
Implementation
factory BloomFilter.build(
Iterable<Uint8List> keys, {
int bitsPerKey = 10,
int minBits = 64,
int hashCount = 7,
}) {
var count = 0;
for (final _ in keys) {
count++;
}
var bits = count * bitsPerKey;
if (bits < minBits) bits = minBits;
// Keep the bit count a multiple of 8 so the byte length is exact.
bits = (bits + 7) & ~7;
final filter = BloomFilter._(Uint8List(bits ~/ 8), hashCount);
for (final key in keys) {
filter.add(key);
}
return filter;
}