Number of bits per fingerprint
Size of each block (filter size / HASHES)
Buffer array of fingerprints
Number of elements inserted in the filter
Create the filter representing the elements to store. We eliminate all duplicated entries before creating the array. Follow the algorithm 2 and 3 of the paper (@see https://arxiv.org/pdf/1912.08258.pdf) Inspired by Go impl from (@see https://github.com/FastFilter/xorfilter/blob/master/xorfilter.go)
array of elements to add in the filter
Hash the element
Perform a modulo reduction using an optimiaze technique
Add elements to the filter, modify the filter in place. Warning: Another call will override the previously created filter.
Return a XorFilter for a specified set of elements
Return True if the other XorFilter is equal
Load an Object from a provided JSON object
the JSON object to load
Return the Object loaded from the provided JSON object
Return False if the element is not in the filter, True if it might be in the set with certain probability.
Return a next random seeded int32 integer
Save the current structure as a JSON
Create an empty XorFilter for a number of size
elements.
The fingerprint length can be choosen
Get a function used to draw random number
A factory function used to draw random integer
Get the seed used in this structure
Set the seed for this structure
the new seed that will be used in this structure
Generated using TypeDoc
XOR-Filter for 8-bits and 16-bits fingerprint length.
To use for fixed sets of elements only Inspired from @see https://github.com/FastFilter/fastfilter_java
Arnaud GRALL