ai-content-maker/.venv/Lib/site-packages/preshed/bloom.pxd

26 lines
657 B
Cython

from libc.stdint cimport uint64_t, uint32_t
from cymem.cymem cimport Pool
ctypedef uint64_t key_t
cdef struct BloomStruct:
key_t* bitfield
key_t hcount # hash count, number of hash functions
key_t length
uint32_t seed
cdef class BloomFilter:
cdef Pool mem
cdef BloomStruct* c_bloom
cdef inline bint contains(self, key_t item) nogil
cdef void bloom_init(Pool mem, BloomStruct* bloom, key_t hcount, key_t length, uint32_t seed) except *
cdef void bloom_add(BloomStruct* bloom, key_t item) nogil
cdef bint bloom_contains(const BloomStruct* bloom, key_t item) nogil
cdef void bloom_add(BloomStruct* bloom, key_t item) nogil