# Module bloom

- Description
- Data Types
- Function Index
- Function Details

Bloom Filter implementation.

Copyright © 2011-2012 Zuse Institute Berlin

Version: $Id$

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

References

- A. Broder, M. Mitzenmacher Network Applications of Bloom Filters: A Survey 2004 Internet Mathematics 1(4)

## Description

Bloom Filter implementation

## Data Types

### bloom_filter()

abstract datatype: `bloom_filter()`

### key()

    key() = any()

## Function Index

add/2 | Adds one item to the bloom filter.
add_list/2 | Adds multiple items to the bloom filter.
equals/2 | Checks whether two bloom filters are equal.
get_property/2 |
is_element/2 | returns true if the bloom filter contains item.
item_count/1 | Gets the number of items inserted into this bloom filter.
join/2 | joins two bloom filter, returned bloom filter represents their union.
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_list_v1/4 |
p_add_list_v2/4 |
print/1 | Return bloom filter debug information.
resize/2 | Increases 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, Feb 29 2016, 16:12:15.