hash-0.2: Hashing tools

Portabilitynon-portable
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellNone

Data.Hash.Double

Description

 

Synopsis

Documentation

data Hash Source

"Less Hashing, Same Performance: Building a Better Bloom Filter" by Kirsch and Mitzenmacher demonstrated that for many use-cases, especially involving Bloom filters, we can use pairwise independent hashes to generate a family of related hash functions with good characteristics.

http://www.eecs.harvard.edu/~kirsch/pubs/bbbf/rsa.pdf

This stores a pair of hashes.

>>> sip (42 :: Int)^..taking 4 each
[-2574874314062730062,-9186383815474761572,2648850756822758536,-3962658744589272970]
>>> sip (42 :: Int)^.ix 3
-3962658744589272970

Constructors

Hash !Int !Int 

sip :: Hashable a => a -> HashSource