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()
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. |
size/1 | Returns number of hash functions in the container. |
tester_create_hfs/1 |
new(HFCount :: pos_integer()) -> hfs()
returns a new lhsp hfs with default functions
Applies Val to all hash functions in container HC
apply_val_rem(HC :: hfs(), Val :: itemKey(), Rem :: 2..340282366920938463463374607431768211455) -> [non_neg_integer(), ...]
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(X1 :: {hfs_lhsp, Hf_count :: 1..100, H1_fun :: hfs_beh:hfs_fun(), H2_fun :: hfs_beh:hfs_fun()}) -> hfs()
Generated by EDoc, Aug 2 2016, 13:42:53.