-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Provides Word128, Word192 and Word256 and a way of producing other large words if required.
--   
--   Provides Word128, Word192 and Word256 and a way of producing other
--   large words if required.
@package largeword
@version 1.0.5


-- | Provides Word128, Word192 and Word256 and a way of producing other
--   large words if required.
module Data.LargeWord
data LargeKey a b
LargeKey :: a -> b -> LargeKey a b
type Word96 = LargeKey Word32 Word64
type Word128 = LargeKey Word64 Word64
type Word160 = LargeKey Word32 Word128
type Word192 = LargeKey Word64 Word128
type Word224 = LargeKey Word32 Word192
type Word256 = LargeKey Word64 Word192
loHalf :: LargeKey t t1 -> t
hiHalf :: LargeKey t t1 -> t1
instance (Eq a, Eq b) => Eq (LargeKey a b)
instance (Ord a, Ord b) => Ord (LargeKey a b)
instance (Eq a, Bounded a, Num a, Enum b, Enum a, Bounded b, Num b) => Enum (LargeKey a b)
instance (Ord a, Bits a, Num a, Bounded a, Bounded b, Enum a, Enum b, LargeWord a, Ord b, Bits b, Num b, LargeWord b) => Real (LargeKey a b)
instance (Bounded a, Bounded b, Enum b, Enum a, Ord a, Bits a, Num a, LargeWord a, Ord b, Bits b, Num b, LargeWord b) => Integral (LargeKey a b)
instance (Ord a, Bits a, Bounded a, Integral a, LargeWord a, Bits b, Bounded b, Integral b, LargeWord b) => Bounded (LargeKey a b)
instance (Ord a, Ord b, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) => Bits (LargeKey a b)
instance (Ord b, Ord a, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) => Num (LargeKey a b)
instance (Ord a, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) => Show (LargeKey a b)
instance (Ord a, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) => LargeWord (LargeKey a b)
instance LargeWord Word64
instance LargeWord Word32
instance LargeWord Word16
instance LargeWord Word8
