The IBLT is a numpy array of shape [repetitions, table_size, num_chunks+2].
Its value at index (r, h, c) corresponds to (r is a repetition):
sum of chunk c of keys hashing to h in r if c < num_chunks,
sum of counts of keys hashing to h in r if c = num_chunks,
sum of checks of keys hashing to h in r if c = num_chunks + 1.
Number of distinct strings that we expect to be inserted.
Maximum length of a string that can be inserted.
If True, strings above string_max_length
will be dropped when constructing the IBLT. Defaults to False.
Integer seed for hash functions. Defaults to 0.
Number of repetitions in IBLT data structure (must be >= 3).
Defaults to 3.
String specifying the hash family to use to construct IBLT.
(options include coupled or random, default is chosen based on capacity)
A dict of parameters that the hash family hasher
expects. (defaults are chosen based on capacity.)
A tensorflow data type which determines the type of the IBLT
The field size for all values in IBLT. Defaults to 2**31 - 1.
Returns Tensor containing the values of the IBLT data structure.
A 1D tensor of strings.
A 1D tensor of self.dtype representing the count of each
A tensor of shape [repetitions, table_size, num_chunks+2] whose value at
index (r, h, c) corresponds to chunk c of the keys if c < num_chunks, to
the counts if c = num_chunks, and to the checks if c = num_chunks + 1.