Common Lisp Package: CL-BLOOM

README:

FUNCTION

Public

ADD (FILTER ELEMENT)

Make FILTER include ELEMENT.

COPY-FILTER (FILTER)

Return a new Bloom filter like FILTER.

FILTER-AND (&REST FILTERS)

Return intersection of all FILTERS as a new filter.

FILTER-INTERSECTION (FILTER1 FILTER2)

Return the intersection of FILTER1 and FILTER2 as a new filter.

FILTER-IOR (&REST FILTERS)

Return union of all FILTERS as a new filter.

FILTER-NINTERSECTION (FILTER1 FILTER2)

Return the intersection of FILTER1 and FILTER2, overwriting FILTER1.

FILTER-NUNION (FILTER1 FILTER2)

Return the union of FILTER1 and FILTER2, overwriting FILTER1.

FILTER-UNION (FILTER1 FILTER2)

Return the union of FILTER1 and FILTER2 as a new filter.

MAKE-COMPATIBLE-FILTER (FILTER)

Return a new Bloom filter having the same order, degree, and seed as FILTER.

MAKE-FILTER (&KEY (CAPACITY 256) (FALSE-DROP-RATE *FALSE-DROP-RATE*))

Return a Bloom filter long enough to hold CAPACITY entries with the specified FALSE-DROP-RATE.

MAKE-SET-FILTER (LIST &KEY)

Make a Bloom filter from the elements of LIST, optimizing the order and degree of the filter according to the size of the set.

MEMBERP (FILTER ELEMENT)

Return NIL if ELEMENT is definitely not present in FILTER. Return T if it might be present.

Undocumented

BLOOM-FILTER-P (OBJECT)

Private

Undocumented

COMPATIBLE? (FILTER1 FILTER2)

FAKE-HASH (HASH1 HASH2 INDEX ORDER)

MAKE-BIT-VECTOR (SIZE)

OPT-DEGREE

OPT-ORDER (CAPACITY)

GENERIC-FUNCTION

Private

Undocumented

FILTER (CONDITION)

SLOT-ACCESSOR

Private

FILTER-SEED (OBJECT)

Cache the value of MURMURHASH:*DEFAULT-SEED* at the time the filter was created, lest changing the default seed invalidate the filter.

SETFFILTER-SEED (NEW-VALUE OBJECT)

Cache the value of MURMURHASH:*DEFAULT-SEED* at the time the filter was created, lest changing the default seed invalidate the filter.

Undocumented

FILTER-ARRAY (OBJECT)

SETFFILTER-ARRAY (NEW-VALUE OBJECT)

FILTER-DEGREE (OBJECT)

SETFFILTER-DEGREE (NEW-VALUE OBJECT)

FILTER-ORDER (OBJECT)

SETFFILTER-ORDER (NEW-VALUE OBJECT)

VARIABLE

Public

*FALSE-DROP-RATE*

Acceptable rate of false drops.

CLASS

Private

Undocumented

BLOOM-FILTER

CONDITION

Private

Undocumented

INCOMPATIBLE-FILTER