| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.PerfectHash.Hashing
Description
Implements the specialized hash function for this perfect hashing algorithm.
C code that makes use of the perfect hash table output must exactly
re-implement this hash function.
- primeFNV :: Int
- class ToHashableChunks a where
- hash :: ToHashableChunks a => Int -> a -> Int
Documentation
This choice of prime number 0x01000193 was taken from the Python implementation
on Steve Hanov's page.
class ToHashableChunks a where Source #
Mechanism for a key to be decomposed into units processable by the FNV-1a hashing algorithm.
Minimal complete definition
Methods
toHashableChunks :: a -> [Int] Source #
Instances
Arguments
| :: ToHashableChunks a | |
| => Int | nonce |
| -> a | key |
| -> Int |
Uses the "FNV-1a" algorithm from the FNV website:
hash = offset_basis
for each octet_of_data to be hashed
hash = hash xor octet_of_data
hash = hash * FNV_prime
return hashThe interface is comparable to the
hashWithSalt
function from the hashable package.