Module bloom

Bloom Filter implementation.

Copyright © 2011-2012 Zuse Institute Berlin

Version: $Id$

Authors: Maik Lange (malange@informatik.hu-berlin.de).

References

Description

Bloom Filter implementation

Data Types

bloom_filter()

abstract datatype: bloom_filter()

key()

key() = any()

Function Index

add/2Adds one item to the bloom filter.
add_list/2Adds multiple items to the bloom filter.
equals/2Checks whether two bloom filters are equal.
get_property/2
is_element/2returns true if the bloom filter contains item.
item_count/1Gets the number of items inserted into this bloom filter.
join/2joins two bloom filter, returned bloom filter represents their union.
new_bin/3Creates a new bloom filter with the given binary, hash function set and item count.
new_bpi/3Creates a new bloom filter with the given hash function set and a fixed number of bits per item.
new_fpr/2Creates a new bloom filter with the default (optimal) hash function set based on the given false positive rate.
new_fpr/3Creates a new bloom filter with the given hash function set based on the given false positive rate.
p_add_list_v1/4
p_add_list_v2/4
print/1Return bloom filter debug information.
resize/2Increases Val until Val rem Div == 0.

Function Details

new_fpr/2

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/3

new_fpr(MaxItems :: non_neg_integer(),
        FPR :: float(),
        Hfs :: hfs_lhsp:hfs()) ->
           bloom_filter()

Creates a new bloom filter with the given hash function set based on the given false positive rate.

new_bpi/3

new_bpi(MaxItems :: non_neg_integer(),
        BitsPerItem :: float(),
        Hfs :: hfs_lhsp:hfs()) ->
           bloom_filter()

Creates a new bloom filter with the given hash function set and a fixed number of bits per item.

new_bin/3

new_bin(Filter :: binary(),
        Hfs :: hfs_lhsp:hfs(),
        ItemsCount :: non_neg_integer()) ->
           bloom_filter()

Creates a new bloom filter with the given binary, hash function set and item count.

add/2

add(Bloom :: bloom_filter(), Item :: key()) -> bloom_filter()

Adds one item to the bloom filter.

add_list/2

add_list(Bloom :: bloom_filter(), Items :: [key()]) ->
            bloom_filter()

Adds multiple items to the bloom filter.

p_add_list_v1/4

p_add_list_v1(Hfs :: hfs_lhsp:hfs(),
              BFSize :: non_neg_integer(),
              BF1 :: binary(),
              Items :: [key()]) ->
                 BF2 :: binary()

p_add_list_v2/4

p_add_list_v2(Hfs :: hfs_lhsp:hfs(),
              BFSize :: non_neg_integer(),
              BF1 :: binary(),
              Items :: [key()]) ->
                 BF2 :: binary()

is_element/2

is_element(Bloom :: bloom_filter(), Item :: key()) -> boolean()

returns true if the bloom filter contains item

item_count/1

item_count(Bloom :: bloom_filter()) -> non_neg_integer()

Gets the number of items inserted into this bloom filter.

join/2

join(Bloom :: bloom_filter(), X2 :: bloom_filter()) ->
        bloom_filter()

joins two bloom filter, returned bloom filter represents their union

equals/2

equals(Bloom :: bloom_filter(), X2 :: bloom_filter()) -> boolean()

Checks whether two bloom filters are equal.

print/1

print(Bloom :: bloom_filter()) -> [{atom(), any()}]

Return bloom filter debug information.

get_property/2

get_property(Bloom :: bloom_filter(), X2 :: fpr) -> float()

resize/2

resize(Val :: non_neg_integer(), Div :: pos_integer()) ->
          NewVal :: non_neg_integer()

Increases Val until Val rem Div == 0.


Generated by EDoc, Sep 11 2020, 15:24:57.