-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Hash functions -- -- Efficient implementation of non-cryptographic hash functions @package hashes @version 0.1.0.0 module Data.Hash.Utils hashStorable :: Storable a => (Ptr Word8 -> Int -> IO b) -> a -> b hashStorable_ :: Storable a => (Ptr Word8 -> Int -> b -> IO b) -> a -> b -> b hashByteString :: (Ptr Word8 -> Int -> IO b) -> ByteString -> b hashByteString_ :: (Ptr Word8 -> Int -> b -> IO b) -> ByteString -> b -> b hashByteArray :: (Ptr Word8 -> Int -> IO b) -> ByteArray# -> b hashByteArray_ :: (Ptr Word8 -> Int -> b -> IO b) -> ByteArray# -> b -> b hashPtr :: (Ptr Word8 -> Int -> IO b) -> Ptr Word8 -> Int -> b hashPtr_ :: (Ptr Word8 -> Int -> b -> IO b) -> Ptr Word8 -> Int -> b -> b hashStorableIO :: Storable a => (Ptr Word8 -> Int -> IO b) -> a -> IO b hashStorableIO_ :: Storable a => (Ptr Word8 -> Int -> b -> IO b) -> a -> b -> IO b hashByteStringIO :: (Ptr Word8 -> Int -> IO b) -> ByteString -> IO b hashByteStringIO_ :: (Ptr Word8 -> Int -> b -> IO b) -> ByteString -> b -> IO b hashByteArrayIO :: (Ptr Word8 -> Int -> IO b) -> ByteArray# -> IO b hashByteArrayIO_ :: (Ptr Word8 -> Int -> b -> IO b) -> ByteArray# -> b -> IO b module Data.Hash.SipHash -- | SipHash, with recommended default parameters of c=2 and c=4. -- -- The first and second argument is the 128 bit key, represented as two -- 64 bit words. sipHash :: Word64 -> Word64 -> Ptr Word8 -> Int -> IO Word64 -- | SipHash-1-3 -- -- The first and second argument is the 128 bit key, represented as two -- 64 bit words. sipHash13 :: Word64 -> Word64 -> Ptr Word8 -> Int -> IO Word64 -- | SipHash-2-4 -- -- The first and second argument is the 128 bit key, represented as two -- 64 bit words. sipHash24 :: Word64 -> Word64 -> Ptr Word8 -> Int -> IO Word64 -- | SipHash-4-8 -- -- The first and second argument is the 128 bit key, represented as two -- 64 bit words. sipHash48 :: Word64 -> Word64 -> Ptr Word8 -> Int -> IO Word64 -- | Generic SipHash with c rounds per block and d finalization rounds. -- -- The first and second argument is the 128 bit key, represented as two -- 64 bit words. sipHashCD :: Int -> Int -> Word64 -> Word64 -> Ptr Word8 -> Int -> IO Word64 -- | The primitive versions are usually not more efficient than the version -- with explicit word sizes for the respective host architecture. module Data.Hash.FNV1 fnv1_64 :: Ptr Word8 -> Int -> IO Word64 fnv1_64_ :: Ptr Word8 -> Int -> Word64 -> IO Word64 fnv1a_64 :: Ptr Word8 -> Int -> IO Word64 fnv1a_64_ :: Ptr Word8 -> Int -> Word64 -> IO Word64 fnv1_32 :: Ptr Word8 -> Int -> IO Word32 fnv1_32_ :: Ptr Word8 -> Int -> Word32 -> IO Word32 fnv1a_32 :: Ptr Word8 -> Int -> IO Word32 fnv1a_32_ :: Ptr Word8 -> Int -> Word32 -> IO Word32 fnv1 :: Addr# -> Int -> IO Word fnv1_ :: Addr# -> Int -> Word -> IO Word fnv1Primitive :: Addr# -> Int# -> State# tok -> (# State# tok, Word# #) fnv1Primitive_ :: Addr# -> Int# -> Word# -> State# tok -> (# State# tok, Word# #) fnv1a :: Addr# -> Int -> IO Word fnv1a_ :: Addr# -> Int -> Word -> IO Word fnv1aPrimitive :: Addr# -> Int# -> State# tok -> (# State# tok, Word# #) fnv1aPrimitive_ :: Addr# -> Int# -> Word# -> State# tok -> (# State# tok, Word# #) fnvPrime :: Word fnvPrime32 :: Word32 fnvPrime64 :: Word64 fnvOffsetBasis :: Word fnvOffsetBasis32 :: Word32 fnvOffsetBasis64 :: Word64