This library provides unsigned integers of various sizes. The types supported are as follows:
type
For each type W above, we provide the following functions and instances. The type I refers to the signed integer type of the same size.
data W -- Unsigned Ints
instance Eq W
instance Ord W
instance Show W
instance Read W
instance Bounded W
instance Num W
instance Real W
instance Integral W
instance Enum W
instance Ix W
instance Bits W
Plus
word8ToWord16 :: Word8 -> Word16
word8ToWord32 :: Word8 -> Word32
word8ToWord64 :: Word8 -> Word64
word16ToWord8 :: Word16 -> Word8
word16ToWord32 :: Word16 -> Word32
word16ToWord64 :: Word16 -> Word64
word32ToWord8 :: Word32 -> Word8
word32ToWord16 :: Word32 -> Word16
word32ToWord64 :: Word32 -> Word64
word64ToWord8 :: Word64 -> Word8
word64ToWord16 :: Word64 -> Word16
word64ToWord32 :: Word64 -> Word32
word8ToInt :: Word8 -> Int
word16ToInt :: Word16 -> Int
word32ToInt :: Word32 -> Int
word64ToInt :: Word64 -> Int
intToWord8 :: Int -> Word8
intToWord16 :: Int -> Word16
intToWord32 :: Int -> Word32
intToWord64 :: Int -> Word64
word64ToInteger :: Word64 -> Integer
integerToWord64 :: Integer -> Word64
Notes:
negate
should not raise an error on negative arguments.
wToI converts an unsigned n-bit value to the
signed n-bit value with the same representation. For example,
word8ToInt8 0xff = -1.
Likewise, iToW converts signed n-bit values to the
corresponding unsigned n-bit value.
Prelude.fromIntegral :: (Integral a, Num b) => a -> b to
coerce between different sizes or to preserve sign when converting
between values of the same size.
Natural providing
an unbounded size unsigned integer --- just as Integer provides
unbounded size signed integers. We do not do that yet since there is
no demand for it. Doing so would require Bits.bitSize to return
Maybe Int.
Enum instances over a bounded type
such as Int (see the section of the Haskell report dealing
with arithmetic sequences) also hold for the Enum instances
over the various Word types defined here.
Implementation notes:
Eq, Ord, Read and Show
instances for Word64 at the moment.