Copyright © 2011-2016 Zuse Institute Berlin
Version: $Id$
Authors: Maik Lange (malange@informatik.hu-berlin.de).
References
abstract datatype: bloom_filter()
key() = any()
| add/2 | Adds one item to the bloom filter. |
| add_list/2 | Adds multiple items to the bloom filter. |
| calc_FPR/3 | Calculates FP for an M-bit large bloom filter with K hash funtions and a maximum number of N elements. |
| calc_HF_num_Size_opt/2 | Calculates the optimal number of hash functions K and Bloom filter size M when K = ln(2)*M/N and M = N * log_2(1/FP) / ln(2) with N elements and a false positive probability FP. |
| calc_least_size/3 | Calculates the number of bits needed by a bloom filter to have a false positive probability of FP using K hash functions and up to N-Elements. |
| equals/2 | Checks whether two bloom filters are equal. |
| get_property/2 | |
| is_element/2 | Returns true if the bloom filter contains this item. |
| item_count/1 | Gets the number of items inserted into this bloom filter. |
| join/2 | Joins two bloom filter so that the returned bloom filter represents their union. |
| new/2 | Creates a new bloom filter. |
| new_bin/3 | Creates a new bloom filter with the given binary, hash function set and item count. |
| new_bpi/3 | Creates a new bloom filter with the given hash function set and a fixed number of bits per item. |
| new_fpr/2 | Creates a new bloom filter with the default (optimal) hash function set based on the given false positive rate. |
| new_fpr/3 | Creates a new bloom filter with the given hash function set based on the given false positive rate. |
| p_add_positions/3 | |
| print/1 | Returns bloom filter debug information. |
| resize/2 | Increases Val until Val rem Div == 0. |
new_fpr(MaxItems :: non_neg_integer(), FPR :: float()) ->
bloom_filter()
Creates a new bloom filter with the default (optimal) hash function set based on the given false positive rate.
new_fpr(MaxItems :: non_neg_integer(),
FPR :: float(),
Hfs :: hfs_plain:hfs() | non_neg_integer()) ->
bloom_filter()
Creates a new bloom filter with the given hash function set based on the given false positive rate.
new_bpi(MaxItems :: non_neg_integer(),
BitsPerItem :: number(),
Hfs :: hfs_plain:hfs() | non_neg_integer()) ->
bloom_filter()
Creates a new bloom filter with the given hash function set and a fixed number of bits per item.
new_bin(Filter :: bitstring(),
HfCount :: hfs_plain:hfs() | non_neg_integer(),
ItemsCount :: non_neg_integer()) ->
bloom_filter()
Creates a new bloom filter with the given binary, hash function set and item count.
new(BitSize :: pos_integer(),
HfCount :: hfs_plain:hfs() | non_neg_integer()) ->
bloom_filter()
Creates a new bloom filter.
add(Bloom :: bloom_filter(), Item :: key()) -> bloom_filter()
Adds one item to the bloom filter.
add_list(Bloom :: bloom_filter(), Items :: [key()]) -> bloom_filter()
Adds multiple items to the bloom filter.
p_add_positions(Positions :: [non_neg_integer(), ...],
BF1 :: bitstring(),
BFSize :: pos_integer()) ->
BF2 :: bitstring()
is_element(Bloom :: bloom_filter(), Item :: key()) -> boolean()
Returns true if the bloom filter contains this item.
item_count(Bloom :: bloom_filter()) -> non_neg_integer()
Gets the number of items inserted into this bloom filter.
join(Bloom :: bloom_filter(), BF2 :: bloom_filter()) -> bloom_filter()
Joins two bloom filter so that the returned bloom filter represents their union.
equals(Bloom :: bloom_filter(), X2 :: bloom_filter()) -> boolean()
Checks whether two bloom filters are equal.
print(Bloom :: bloom_filter()) -> [{atom(), any()}]
Returns bloom filter debug information.
get_property(Bloom :: bloom_filter(), X2 :: fpr) -> float()
calc_HF_num_Size_opt(N :: non_neg_integer(), FP :: float()) ->
{K :: pos_integer(), M :: pos_integer()}
Calculates the optimal number of hash functions K and Bloom filter size M when K = ln(2)*M/N and M = N * log_2(1/FP) / ln(2) with N elements and a false positive probability FP.
calc_least_size(N :: non_neg_integer(),
FP :: float(),
K :: pos_integer()) ->
M :: pos_integer()
Calculates the number of bits needed by a bloom filter to have a false positive probability of FP using K hash functions and up to N-Elements. M = 1/(1-(1-(FP)^(1/K))^(1/(KN)))
calc_FPR(M :: pos_integer(),
N :: non_neg_integer(),
K :: pos_integer()) ->
FP :: float()
Calculates FP for an M-bit large bloom filter with K hash funtions and a maximum number of N elements. FP = (1-(1-1/M)^(K*N))^K
resize(Val :: non_neg_integer(), Div :: pos_integer()) ->
NewVal :: non_neg_integer()
Increases Val until Val rem Div == 0.
Generated by EDoc, Apr 22 2017, 16:02:48.