Copyright © 2010-2011 Zuse Institute Berlin
Version: $Id$
Behaviours: hfs_beh.
Authors: Maik Lange (malange@informatik.hu-berlin.de).
References
Implementation of a hash function set proposed in 2006 by A. Kirsch, M. Mitzenmacher - "Less Hashing, Same Performance: Building a Better Bloom Filter Build k Hash functions of the form g_i(x) = h_1(X) + i * h_2(X)
Used MD5 Hash-Function like in 2000 - L.Fan, P. Cao., JA, ZB : "Summary Cache: A Scalable Wide-Area Web Cache Sharing Protocol" (Counting Bloom Filters Paper)abstract datatype: hfs()
hfs_fun() = fun((binary()) -> non_neg_integer() | binary())
itemKey() = any()
apply_val/2 | Applies Val to all hash functions in container HC. |
apply_val/3 | Apply hash function I to given value; I = 1..hfs_size. |
apply_val_feeder/3 | |
apply_val_rem/3 | Applies Val to all hash functions in container HC and returns only remainders of divisions by Rem. |
new/1 | returns a new lhsp hfs with default functions. |
new/2 | |
new_feeder/2 | |
size/1 | Returns number of hash functions in the container. |
tester_create_hfs/1 | |
tester_create_hfs_fun/1 |
new(HFCount :: pos_integer()) -> hfs()
returns a new lhsp hfs with default functions
new_feeder(X1 :: {hfs_fun(), hfs_fun()}, HFCount :: pos_integer()) -> {[hfs_fun(), ...], pos_integer()}
Applies Val to all hash functions in container HC
Applies Val to all hash functions in container HC and returns only remainders of divisions by Rem.
apply_val_feeder(X1 :: hfs(), I :: pos_integer(), Val :: itemKey()) -> {hfs(), pos_integer(), itemKey()}
Apply hash function I to given value; I = 1..hfs_size. NOTE: When multiple different I are needed, prefer apply_val/2 since that function is faster.
size(X1 :: hfs()) -> pos_integer()
Returns number of hash functions in the container
tester_create_hfs_fun(X1 :: 1..2) -> hfs_fun()
tester_create_hfs(X1 :: {hfs_lhsp, Hf_count :: 1..100, H1_fun :: hfs_fun(), H2_fun :: hfs_fun()}) -> hfs()
Generated by EDoc, Feb 29 2016, 16:12:14.