murmur-hash-0.1: MurmurHash2 implementation forContentsIndex
Data.Digest.Murmur64
Portabilityportable
Stabilityexperimental
Maintainernominolo@gmail.com
Description
Type class and primitives for constructing 64 bit hashes using the MurmurHash2 algorithm. See http://murmurhash.googlepages.com for details on MurmurHash2.
Synopsis
data Hash64
asWord64 :: Hash64 -> Word64
class Hashable64 a where
hash64Add :: a -> Hash64 -> Hash64
hash64AddWord64 :: Word64 -> Hash64 -> Hash64
hash64AddInt :: Int -> Hash64 -> Hash64
hash64 :: Hashable64 a => a -> Hash64
hash64WithSeed :: Hashable64 a => Word64 -> a -> Hash64
combine :: (Hash64 -> Hash64) -> (Hash64 -> Hash64) -> Hash64 -> Hash64
Documentation
data Hash64
A 64 bit hash.
show/hide Instances
asWord64 :: Hash64 -> Word64
Extract 64 bit word from hash.
class Hashable64 a where
Methods
hash64Add :: a -> Hash64 -> Hash64
show/hide Instances
hash64AddWord64 :: Word64 -> Hash64 -> Hash64
Add a 64 bit word to the hash.
hash64AddInt :: Int -> Hash64 -> Hash64
hash64 :: Hashable64 a => a -> Hash64
Create a hash using the default seed.
hash64WithSeed :: Hashable64 a => Word64 -> a -> Hash64
Create a hash using a custom seed. h The seed should be non-zero, but other than that can be an arbitrary number. Different seeds will give different hashes, and thus (most likely) different hash collisions.
combine :: (Hash64 -> Hash64) -> (Hash64 -> Hash64) -> Hash64 -> Hash64

Combine two hash generators. E.g.,

   hashFoo (Foo a) = hash64AddInt 1 combine hash64Add a
Produced by Haddock version 2.7.2