haskell2010-base
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Word

Description

This module provides unsigned integer types of unspecified width (Word) and fixed widths (Word8, Word16, Word32 and Word64). All arithmetic is performed modulo 2^n, where n is the number of bits in the type.

For coercing between any two integer types, use fromIntegral. Coercing word types to and from integer types preserves representation, not sign.

The rules that hold for Enum instances over a bounded type such as Int (see the section of the Haskell language report dealing with arithmetic sequences) also hold for the Enum instances over the various Word types defined here.

Right and left shifts by amounts greater than or equal to the width of the type result in a zero result. This is contrary to the behaviour in C, which is undefined; a common interpretation is to truncate the shift count to the width of the type, for example 1 << 32 == 1 in some C implementations.

Synopsis

Documentation

data Word #

A Word is an unsigned integral type, with the same size as Int.

Instances

Instances details
Bits Word # 
Instance details

Defined in Data.Bits

Methods

(.&.) :: Word -> Word -> Word #

(.|.) :: Word -> Word -> Word #

xor :: Word -> Word -> Word #

complement :: Word -> Word #

shift :: Word -> Int -> Word #

rotate :: Word -> Int -> Word #

bit :: Int -> Word #

setBit :: Word -> Int -> Word #

clearBit :: Word -> Int -> Word #

complementBit :: Word -> Int -> Word #

testBit :: Word -> Int -> Bool #

bitSize :: Word -> Int #

isSigned :: Word -> Bool #

shiftL :: Word -> Int -> Word #

shiftR :: Word -> Int -> Word #

rotateL :: Word -> Int -> Word #

rotateR :: Word -> Int -> Word #

Bounded Word # 
Instance details

Defined in Data.Enum

Enum Word # 
Instance details

Defined in Data.Enum

Methods

succ :: Word -> Word #

pred :: Word -> Word #

toEnum :: Int -> Word #

fromEnum :: Word -> Int #

enumFrom :: Word -> [Word] #

enumFromThen :: Word -> Word -> [Word] #

enumFromTo :: Word -> Word -> [Word] #

enumFromThenTo :: Word -> Word -> Word -> [Word] #

Eq Word # 
Instance details

Defined in Data.Eq

Methods

(==) :: Word -> Word -> Bool #

(/=) :: Word -> Word -> Bool #

Ix Word # 
Instance details

Defined in Data.Ix

Methods

range :: (Word, Word) -> [Word] #

index :: (Word, Word) -> Word -> Int #

inRange :: (Word, Word) -> Word -> Bool #

rangeSize :: (Word, Word) -> Int #

Ord Word # 
Instance details

Defined in Data.Ord

Methods

compare :: Word -> Word -> Ordering #

(<) :: Word -> Word -> Bool #

(<=) :: Word -> Word -> Bool #

(>=) :: Word -> Word -> Bool #

(>) :: Word -> Word -> Bool #

max :: Word -> Word -> Word #

min :: Word -> Word -> Word #

Storable Word # 
Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Word -> Int #

alignment :: Word -> Int #

peekElemOff :: Ptr Word -> Int -> IO Word #

pokeElemOff :: Ptr Word -> Int -> Word -> IO () #

peekByteOff :: Ptr b -> Int -> IO Word #

pokeByteOff :: Ptr b -> Int -> Word -> IO () #

peek :: Ptr Word -> IO Word #

poke :: Ptr Word -> Word -> IO () #

Integral Word # 
Instance details

Defined in NumHierarchy

Methods

quot :: Word -> Word -> Word #

rem :: Word -> Word -> Word #

div :: Word -> Word -> Word #

mod :: Word -> Word -> Word #

quotRem :: Word -> Word -> (Word, Word) #

divMod :: Word -> Word -> (Word, Word) #

toInteger :: Word -> Integer #

Num Word # 
Instance details

Defined in NumHierarchy

Methods

(+) :: Word -> Word -> Word #

(-) :: Word -> Word -> Word #

(*) :: Word -> Word -> Word #

negate :: Word -> Word #

abs :: Word -> Word #

signum :: Word -> Word #

fromInteger :: Integer -> Word #

Real Word # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Word -> Rational #

Read Word # 
Instance details

Defined in Text.Read

Show Word # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Word -> ShowS #

show :: Word -> String #

showList :: [Word] -> ShowS #

data Word8 #

8-bit unsigned integer type

Instances

Instances details
Bits Word8 # 
Instance details

Defined in Data.Bits

Bounded Word8 # 
Instance details

Defined in Data.Enum

Enum Word8 # 
Instance details

Defined in Data.Enum

Eq Word8 # 
Instance details

Defined in Data.Eq

Methods

(==) :: Word8 -> Word8 -> Bool #

(/=) :: Word8 -> Word8 -> Bool #

Ix Word8 # 
Instance details

Defined in Data.Ix

Methods

range :: (Word8, Word8) -> [Word8] #

index :: (Word8, Word8) -> Word8 -> Int #

inRange :: (Word8, Word8) -> Word8 -> Bool #

rangeSize :: (Word8, Word8) -> Int #

Ord Word8 # 
Instance details

Defined in Data.Ord

Methods

compare :: Word8 -> Word8 -> Ordering #

(<) :: Word8 -> Word8 -> Bool #

(<=) :: Word8 -> Word8 -> Bool #

(>=) :: Word8 -> Word8 -> Bool #

(>) :: Word8 -> Word8 -> Bool #

max :: Word8 -> Word8 -> Word8 #

min :: Word8 -> Word8 -> Word8 #

Storable Word8 # 
Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Word8 -> Int #

alignment :: Word8 -> Int #

peekElemOff :: Ptr Word8 -> Int -> IO Word8 #

pokeElemOff :: Ptr Word8 -> Int -> Word8 -> IO () #

peekByteOff :: Ptr b -> Int -> IO Word8 #

pokeByteOff :: Ptr b -> Int -> Word8 -> IO () #

peek :: Ptr Word8 -> IO Word8 #

poke :: Ptr Word8 -> Word8 -> IO () #

Integral Word8 # 
Instance details

Defined in NumHierarchy

Num Word8 # 
Instance details

Defined in NumHierarchy

Real Word8 # 
Instance details

Defined in NumHierarchy

Methods

toRational :: Word8 -> Rational #

Read Word8 # 
Instance details

Defined in Text.Read

Show Word8 # 
Instance details

Defined in Text.Show

Methods

showsPrec :: Int -> Word8 -> ShowS #

show :: Word8 -> String #

showList :: [Word8] -> ShowS #

data Word16 #

16-bit unsigned integer type

Instances

Instances details
Bits Word16 # 
Instance details

Defined in Data.Bits

Bounded Word16 # 
Instance details

Defined in Data.Enum

Enum Word16 # 
Instance details

Defined in Data.Enum

Eq Word16 # 
Instance details

Defined in Data.Eq

Methods

(==) :: Word16 -> Word16 -> Bool #

(/=) :: Word16 -> Word16 -> Bool #

Ix Word16 # 
Instance details

Defined in Data.Ix

Ord Word16 # 
Instance details

Defined in Data.Ord

Storable Word16 # 
Instance details

Defined in Foreign.Storable

Integral Word16 # 
Instance details

Defined in NumHierarchy

Num Word16 # 
Instance details

Defined in NumHierarchy

Real Word16 # 
Instance details

Defined in NumHierarchy

Read Word16 # 
Instance details

Defined in Text.Read

Show Word16 # 
Instance details

Defined in Text.Show

data Word32 #

32-bit unsigned integer type

Instances

Instances details
Bits Word32 # 
Instance details

Defined in Data.Bits

Bounded Word32 # 
Instance details

Defined in Data.Enum

Enum Word32 # 
Instance details

Defined in Data.Enum

Eq Word32 # 
Instance details

Defined in Data.Eq

Methods

(==) :: Word32 -> Word32 -> Bool #

(/=) :: Word32 -> Word32 -> Bool #

Ix Word32 # 
Instance details

Defined in Data.Ix

Ord Word32 # 
Instance details

Defined in Data.Ord

Storable Word32 # 
Instance details

Defined in Foreign.Storable

Integral Word32 # 
Instance details

Defined in NumHierarchy

Num Word32 # 
Instance details

Defined in NumHierarchy

Real Word32 # 
Instance details

Defined in NumHierarchy

Read Word32 # 
Instance details

Defined in Text.Read

Show Word32 # 
Instance details

Defined in Text.Show

data Word64 #

64-bit unsigned integer type

Instances

Instances details
Bits Word64 # 
Instance details

Defined in Data.Bits

Bounded Word64 # 
Instance details

Defined in Data.Enum

Enum Word64 # 
Instance details

Defined in Data.Enum

Eq Word64 # 
Instance details

Defined in Data.Eq

Methods

(==) :: Word64 -> Word64 -> Bool #

(/=) :: Word64 -> Word64 -> Bool #

Ix Word64 # 
Instance details

Defined in Data.Ix

Ord Word64 # 
Instance details

Defined in Data.Ord

Storable Word64 # 
Instance details

Defined in Foreign.Storable

Integral Word64 # 
Instance details

Defined in NumHierarchy

Num Word64 # 
Instance details

Defined in NumHierarchy

Real Word64 # 
Instance details

Defined in NumHierarchy

Read Word64 # 
Instance details

Defined in Text.Read

Show Word64 # 
Instance details

Defined in Text.Show