Copyright | (c) Thomas Schilling 2010 |
---|---|
License | BSD-style |
Maintainer | nominolo@gmail.com |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell98 |
Type class and primitives for constructing 32 bit hashes using the MurmurHash2 algorithm. See http://murmurhash.googlepages.com for details on MurmurHash2.
- data Hash32
- asWord32 :: Hash32 -> Word32
- class Hashable32 a where
- hash32AddWord32 :: Word32 -> Hash32 -> Hash32
- hash32AddInt :: Int -> Hash32 -> Hash32
- hash32 :: Hashable32 a => a -> Hash32
- hash32WithSeed :: Hashable32 a => Word32 -> a -> Hash32
Documentation
class Hashable32 a where Source
Instance for
Hashable32 Bool | |
Hashable32 Char | |
Hashable32 Int | |
Hashable32 Integer | |
Hashable32 Word32 | |
Hashable32 () | |
Hashable32 ByteString | |
Hashable32 ByteString | |
Hashable32 a => Hashable32 [a] | |
Hashable32 a => Hashable32 (Maybe a) | |
(Hashable32 a, Hashable32 b) => Hashable32 (Either a b) | |
(Hashable32 a, Hashable32 b) => Hashable32 (a, b) | |
(Hashable32 a, Hashable32 b, Hashable32 c) => Hashable32 (a, b, c) | |
(Hashable32 a, Hashable32 b, Hashable32 c, Hashable32 d) => Hashable32 (a, b, c, d) |
hash32AddWord32 :: Word32 -> Hash32 -> Hash32 Source
hash32AddInt :: Int -> Hash32 -> Hash32 Source
hash32 :: Hashable32 a => a -> Hash32 Source
Create a hash using the default seed.
hash32WithSeed :: Hashable32 a => Word32 -> a -> Hash32 Source
Create a hash using a custom seed.
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.