base-4.14.1.0: Basic libraries
Copyright(c) The University of Glasgow 2001
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerlibraries@haskell.org
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Data.Word

Description

Unsigned integer types.

Synopsis

Unsigned integral types

dataWord#

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

Instances

Instances details
BoundedWordSource#

Since: 2.1

Instance details

Defined in GHC.Enum

EnumWordSource#

Since: 2.1

Instance details

Defined in GHC.Enum

EqWord 
Instance details

Defined in GHC.Classes

Methods

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

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

IntegralWordSource#

Since: 2.1

Instance details

Defined in GHC.Real

DataWordSource#

Since: 4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word -> c WordSource#

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c WordSource#

toConstr :: Word -> ConstrSource#

dataTypeOf :: Word -> DataTypeSource#

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word) Source#

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word) Source#

gmapT :: (forall b. Data b => b -> b) -> Word -> WordSource#

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r Source#

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word -> r Source#

gmapQ :: (forall d. Data d => d -> u) -> Word -> [u] Source#

gmapQi :: Int -> (forall d. Data d => d -> u) -> Word -> u Source#

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word -> m WordSource#

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m WordSource#

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word -> m WordSource#

NumWordSource#

Since: 2.1

Instance details

Defined in GHC.Num

OrdWord 
Instance details

Defined in GHC.Classes

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#

ReadWordSource#

Since: 4.5.0.0

Instance details

Defined in GHC.Read

RealWordSource#

Since: 2.1

Instance details

Defined in GHC.Real

ShowWordSource#

Since: 2.1

Instance details

Defined in GHC.Show

IxWordSource#

Since: 4.6.0.0

Instance details

Defined in GHC.Ix

FiniteBitsWordSource#

Since: 4.6.0.0

Instance details

Defined in Data.Bits

BitsWordSource#

Since: 2.1

Instance details

Defined in Data.Bits

StorableWordSource#

Since: 2.1

Instance details

Defined in Foreign.Storable

PrintfArgWordSource#

Since: 2.1

Instance details

Defined in Text.Printf

Generic1 (URecWord :: k -> Type)Source#

Since: 4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

typeRep1 (URecWord) :: k -> TypeSource#

Methods

from1 :: forall (a :: k0). URecWord a -> Rep1 (URecWord) a Source#

to1 :: forall (a :: k0). Rep1 (URecWord) a -> URecWord a Source#

Foldable (UWord :: Type -> Type)Source#

Since: 4.9.0.0

Instance details

Defined in Data.Foldable

Methods

fold :: Monoid m => UWord m -> m Source#

foldMap :: Monoid m => (a -> m) -> UWord a -> m Source#

foldMap' :: Monoid m => (a -> m) -> UWord a -> m Source#

foldr :: (a -> b -> b) -> b -> UWord a -> b Source#

foldr' :: (a -> b -> b) -> b -> UWord a -> b Source#

foldl :: (b -> a -> b) -> b -> UWord a -> b Source#

foldl' :: (b -> a -> b) -> b -> UWord a -> b Source#

foldr1 :: (a -> a -> a) -> UWord a -> a Source#

foldl1 :: (a -> a -> a) -> UWord a -> a Source#

toList :: UWord a -> [a] Source#

null :: UWord a -> BoolSource#

length :: UWord a -> IntSource#

elem :: Eq a => a -> UWord a -> BoolSource#

maximum :: Ord a => UWord a -> a Source#

minimum :: Ord a => UWord a -> a Source#

sum :: Num a => UWord a -> a Source#

product :: Num a => UWord a -> a Source#

Traversable (UWord :: Type -> Type)Source#

Since: 4.9.0.0

Instance details

Defined in Data.Traversable

Methods

traverse :: Applicative f => (a -> f b) -> UWord a -> f (UWord b) Source#

sequenceA :: Applicative f => UWord (f a) -> f (UWord a) Source#

mapM :: Monad m => (a -> m b) -> UWord a -> m (UWord b) Source#

sequence :: Monad m => UWord (m a) -> m (UWord a) Source#

Functor (URecWord :: Type -> Type)Source#

Since: 4.9.0.0

Instance details

Defined in GHC.Generics

Methods

fmap :: (a -> b) -> URecWord a -> URecWord b Source#

(<$) :: a -> URecWord b -> URecWord a Source#

Eq (URecWord p)Source#

Since: 4.9.0.0

Instance details

Defined in GHC.Generics

Methods

(==) :: URecWord p -> URecWord p -> Bool#

(/=) :: URecWord p -> URecWord p -> Bool#

Ord (URecWord p)Source#

Since: 4.9.0.0

Instance details

Defined in GHC.Generics

Methods

compare :: URecWord p -> URecWord p -> Ordering#

(<) :: URecWord p -> URecWord p -> Bool#

(<=) :: URecWord p -> URecWord p -> Bool#

(>) :: URecWord p -> URecWord p -> Bool#

(>=) :: URecWord p -> URecWord p -> Bool#

max :: URecWord p -> URecWord p -> URecWord p #

min :: URecWord p -> URecWord p -> URecWord p #

Show (URecWord p)Source#

Since: 4.9.0.0

Instance details

Defined in GHC.Generics

Generic (URecWord p)Source#

Since: 4.9.0.0

Instance details

Defined in GHC.Generics

Associated Types

typeRep (URecWord p) :: Type -> TypeSource#

Methods

from :: URecWord p -> Rep (URecWord p) x Source#

to :: Rep (URecWord p) x -> URecWord p Source#

dataURecWord (p :: k)Source#

Used for marking occurrences of Word#

Since: 4.9.0.0

Instance details

Defined in GHC.Generics

dataURecWord (p :: k) = UWord {}
typeRep1 (URecWord :: k -> Type)Source# 
Instance details

Defined in GHC.Generics

typeRep1 (URecWord :: k -> Type) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UWord" 'PrefixI 'True) (S1 ('MetaSel ('Just "uWord#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UWord :: k -> Type)))
typeRep (URecWord p)Source# 
Instance details

Defined in GHC.Generics

typeRep (URecWord p) = D1 ('MetaData "URec" "GHC.Generics" "base" 'False) (C1 ('MetaCons "UWord" 'PrefixI 'True) (S1 ('MetaSel ('Just "uWord#") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (UWord :: Type -> Type)))

dataWord8Source#

8-bit unsigned integer type

Instances

Instances details
BoundedWord8Source#

Since: 2.1

Instance details

Defined in GHC.Word

EnumWord8Source#

Since: 2.1

Instance details

Defined in GHC.Word

EqWord8Source#

Since: 2.1

Instance details

Defined in GHC.Word

Methods

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

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

IntegralWord8Source#

Since: 2.1

Instance details

Defined in GHC.Word

DataWord8Source#

Since: 4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word8 -> c Word8Source#

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word8Source#

toConstr :: Word8 -> ConstrSource#

dataTypeOf :: Word8 -> DataTypeSource#

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word8) Source#

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word8) Source#

gmapT :: (forall b. Data b => b -> b) -> Word8 -> Word8Source#

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r Source#

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word8 -> r Source#

gmapQ :: (forall d. Data d => d -> u) -> Word8 -> [u] Source#

gmapQi :: Int -> (forall d. Data d => d -> u) -> Word8 -> u Source#

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word8 -> m Word8Source#

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8Source#

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word8 -> m Word8Source#

NumWord8Source#

Since: 2.1

Instance details

Defined in GHC.Word

OrdWord8Source#

Since: 2.1

Instance details

Defined in GHC.Word

ReadWord8Source#

Since: 2.1

Instance details

Defined in GHC.Read

RealWord8Source#

Since: 2.1

Instance details

Defined in GHC.Word

ShowWord8Source#

Since: 2.1

Instance details

Defined in GHC.Word

IxWord8Source#

Since: 2.1

Instance details

Defined in GHC.Word

FiniteBitsWord8Source#

Since: 4.6.0.0

Instance details

Defined in GHC.Word

BitsWord8Source#

Since: 2.1

Instance details

Defined in GHC.Word

StorableWord8Source#

Since: 2.1

Instance details

Defined in Foreign.Storable

PrintfArgWord8Source#

Since: 2.1

Instance details

Defined in Text.Printf

dataWord16Source#

16-bit unsigned integer type

Instances

Instances details
BoundedWord16Source#

Since: 2.1

Instance details

Defined in GHC.Word

EnumWord16Source#

Since: 2.1

Instance details

Defined in GHC.Word

EqWord16Source#

Since: 2.1

Instance details

Defined in GHC.Word

Methods

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

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

IntegralWord16Source#

Since: 2.1

Instance details

Defined in GHC.Word

DataWord16Source#

Since: 4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word16 -> c Word16Source#

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word16Source#

toConstr :: Word16 -> ConstrSource#

dataTypeOf :: Word16 -> DataTypeSource#

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word16) Source#

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word16) Source#

gmapT :: (forall b. Data b => b -> b) -> Word16 -> Word16Source#

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word16 -> r Source#

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word16 -> r Source#

gmapQ :: (forall d. Data d => d -> u) -> Word16 -> [u] Source#

gmapQi :: Int -> (forall d. Data d => d -> u) -> Word16 -> u Source#

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word16 -> m Word16Source#

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word16 -> m Word16Source#

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word16 -> m Word16Source#

NumWord16Source#

Since: 2.1

Instance details

Defined in GHC.Word

OrdWord16Source#

Since: 2.1

Instance details

Defined in GHC.Word

ReadWord16Source#

Since: 2.1

Instance details

Defined in GHC.Read

RealWord16Source#

Since: 2.1

Instance details

Defined in GHC.Word

ShowWord16Source#

Since: 2.1

Instance details

Defined in GHC.Word

IxWord16Source#

Since: 2.1

Instance details

Defined in GHC.Word

FiniteBitsWord16Source#

Since: 4.6.0.0

Instance details

Defined in GHC.Word

BitsWord16Source#

Since: 2.1

Instance details

Defined in GHC.Word

StorableWord16Source#

Since: 2.1

Instance details

Defined in Foreign.Storable

PrintfArgWord16Source#

Since: 2.1

Instance details

Defined in Text.Printf

dataWord32Source#

32-bit unsigned integer type

Instances

Instances details
BoundedWord32Source#

Since: 2.1

Instance details

Defined in GHC.Word

EnumWord32Source#

Since: 2.1

Instance details

Defined in GHC.Word

EqWord32Source#

Since: 2.1

Instance details

Defined in GHC.Word

Methods

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

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

IntegralWord32Source#

Since: 2.1

Instance details

Defined in GHC.Word

DataWord32Source#

Since: 4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word32 -> c Word32Source#

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word32Source#

toConstr :: Word32 -> ConstrSource#

dataTypeOf :: Word32 -> DataTypeSource#

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word32) Source#

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word32) Source#

gmapT :: (forall b. Data b => b -> b) -> Word32 -> Word32Source#

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word32 -> r Source#

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word32 -> r Source#

gmapQ :: (forall d. Data d => d -> u) -> Word32 -> [u] Source#

gmapQi :: Int -> (forall d. Data d => d -> u) -> Word32 -> u Source#

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word32 -> m Word32Source#

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word32 -> m Word32Source#

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word32 -> m Word32Source#

NumWord32Source#

Since: 2.1

Instance details

Defined in GHC.Word

OrdWord32Source#

Since: 2.1

Instance details

Defined in GHC.Word

ReadWord32Source#

Since: 2.1

Instance details

Defined in GHC.Read

RealWord32Source#

Since: 2.1

Instance details

Defined in GHC.Word

ShowWord32Source#

Since: 2.1

Instance details

Defined in GHC.Word

IxWord32Source#

Since: 2.1

Instance details

Defined in GHC.Word

FiniteBitsWord32Source#

Since: 4.6.0.0

Instance details

Defined in GHC.Word

BitsWord32Source#

Since: 2.1

Instance details

Defined in GHC.Word

StorableWord32Source#

Since: 2.1

Instance details

Defined in Foreign.Storable

PrintfArgWord32Source#

Since: 2.1

Instance details

Defined in Text.Printf

dataWord64Source#

64-bit unsigned integer type

Instances

Instances details
BoundedWord64Source#

Since: 2.1

Instance details

Defined in GHC.Word

EnumWord64Source#

Since: 2.1

Instance details

Defined in GHC.Word

EqWord64Source#

Since: 2.1

Instance details

Defined in GHC.Word

Methods

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

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

IntegralWord64Source#

Since: 2.1

Instance details

Defined in GHC.Word

DataWord64Source#

Since: 4.0.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Word64 -> c Word64Source#

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Word64Source#

toConstr :: Word64 -> ConstrSource#

dataTypeOf :: Word64 -> DataTypeSource#

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Word64) Source#

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Word64) Source#

gmapT :: (forall b. Data b => b -> b) -> Word64 -> Word64Source#

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Word64 -> r Source#

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Word64 -> r Source#

gmapQ :: (forall d. Data d => d -> u) -> Word64 -> [u] Source#

gmapQi :: Int -> (forall d. Data d => d -> u) -> Word64 -> u Source#

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Word64 -> m Word64Source#

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Word64 -> m Word64Source#

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Word64 -> m Word64Source#

NumWord64Source#

Since: 2.1

Instance details

Defined in GHC.Word

OrdWord64Source#

Since: 2.1

Instance details

Defined in GHC.Word

ReadWord64Source#

Since: 2.1

Instance details

Defined in GHC.Read

RealWord64Source#

Since: 2.1

Instance details

Defined in GHC.Word

ShowWord64Source#

Since: 2.1

Instance details

Defined in GHC.Word

IxWord64Source#

Since: 2.1

Instance details

Defined in GHC.Word

FiniteBitsWord64Source#

Since: 4.6.0.0

Instance details

Defined in GHC.Word

BitsWord64Source#

Since: 2.1

Instance details

Defined in GHC.Word

StorableWord64Source#

Since: 2.1

Instance details

Defined in Foreign.Storable

PrintfArgWord64Source#

Since: 2.1

Instance details

Defined in Text.Printf

byte swapping

byteSwap16 :: Word16 -> Word16Source#

Reverse order of bytes in Word16.

Since: 4.7.0.0

byteSwap32 :: Word32 -> Word32Source#

Reverse order of bytes in Word32.

Since: 4.7.0.0

byteSwap64 :: Word64 -> Word64Source#

Reverse order of bytes in Word64.

Since: 4.7.0.0

bit reversal

bitReverse8 :: Word8 -> Word8Source#

Reverse the order of the bits in a Word8.

Since: 4.12.0.0

bitReverse16 :: Word16 -> Word16Source#

Reverse the order of the bits in a Word16.

Since: 4.12.0.0

bitReverse32 :: Word32 -> Word32Source#

Reverse the order of the bits in a Word32.

Since: 4.12.0.0

bitReverse64 :: Word64 -> Word64Source#

Reverse the order of the bits in a Word64.

Since: 4.12.0.0

Notes

  • All arithmetic is performed modulo 2^n, where n is the number of bits in the type. One non-obvious consequence of this is that negate should not raise an error on negative arguments.
  • For coercing between any two integer types, use fromIntegral, which is specialized for all the common cases so should be fast enough. Coercing word types to and from integer types preserves representation, not sign.
  • An unbounded size unsigned integer type is available with Natural.
  • The rules that hold for 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.
  • 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.
close