Data.LargeWord

largeword-1.0.5: Provides Word128, Word192 and Word256 and a way of producing other large words if required.

Copyright | (c) Dominic Steinitz 2004 - 2011
License | BSD
Maintainer | dominic@steinitz.org
Stability | experimental
Portability | portable
Safe Haskell | Safe
Language | Haskell98

Data.LargeWord

Description

Provides Word128, Word192 and Word256 and a way of producing other large words if required.

# Documentation

data LargeKey a b

Constructors

LargeKey a b |

Instances

(Ord a, Bits a, Bounded a, Integral a, LargeWord a, Bits b, Bounded b, Integral b, LargeWord b) => Bounded (LargeKey a b) |
(Eq a, Bounded a, Num a, Enum b, Enum a, Bounded b, Num b) => Enum (LargeKey a b) |
(Eq a, Eq b) => Eq (LargeKey a b) |
(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) |
(Ord b, Ord a, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) => Num (LargeKey a b) |
(Ord a, Ord b) => Ord (LargeKey a b) |
(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) |
(Ord a, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) => Show (LargeKey a b) |
(Ord a, Ord b, Bits a, Num a, LargeWord a, Bits b, Num b, LargeWord b) => Bits (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