Skip to content

Instantly share code, notes, and snippets.

@abersheeran
abersheeran / bloomfilter.py
Last active March 25, 2022 06:00
Bloom filter by python3
import math
from hashlib import blake2b
class BloomFilter:
def __init__(self, elements_count: int, *, error_rate: float = 0.0001) -> None:
byte_count = 1 + int(
-(math.log(error_rate) / math.log(2) ** 2) * elements_count // 8
)
digest_size = int(math.log2(elements_count)) + (elements_count % 2)