base-4.10.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

data Word :: * #

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

Instances

Bounded Word Source #

Since: 2.1

Enum Word Source #

Since: 2.1

Methods

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

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

Integral Word Source #

Since: 2.1

Data Word Source #

Since: 4.0.0.0

Methods

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

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

toConstr :: Word -> Constr Source #

dataTypeOf :: Word -> DataType Source #

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 -> Word Source #

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

gmapQr :: (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 Word Source #

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

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

Num Word Source #

Since: 2.1

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 #

Read Word Source #

Since: 4.5.0.0

Real Word Source #

Since: 2.1

Show Word Source #

Since: 2.1

Ix Word Source #

Since: 4.6.0.0

Methods

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

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

unsafeIndex :: (Word, Word) -> Word -> Int

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

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

unsafeRangeSize :: (Word, Word) -> Int

FiniteBits Word Source #

Since: 4.6.0.0

Bits Word Source #

Since: 2.1

Storable Word Source #

Since: 2.1

PrintfArg Word Source #

Since: 2.1

Associated Types

type Rep1 (URec k Word) (f :: URec k Word -> *) :: k -> * Source #

Methods

from1 :: f a -> Rep1 (URec k Word) f a Source #

to1 :: Rep1 (URec k Word) f a -> f a Source #

Methods

fmap :: (a -> b) -> URec * Word a -> URec * Word b Source #

(<$) :: a -> URec * Word b -> URec * Word a Source #

Methods

fold :: Monoid m => URec * Word m -> m Source #

foldMap :: Monoid m => (a -> m) -> URec * Word a -> m Source #

foldr :: (a -> b -> b) -> b -> URec * Word a -> b Source #

foldr' :: (a -> b -> b) -> b -> URec * Word a -> b Source #

foldl :: (b -> a -> b) -> b -> URec * Word a -> b Source #

foldl' :: (b -> a -> b) -> b -> URec * Word a -> b Source #

foldr1 :: (a -> a -> a) -> URec * Word a -> a Source #

foldl1 :: (a -> a -> a) -> URec * Word a -> a Source #

toList :: URec * Word a -> [a] Source #

null :: URec * Word a -> Bool Source #

length :: URec * Word a -> Int Source #

elem :: Eq a => a -> URec * Word a -> Bool Source #

maximum :: Ord a => URec * Word a -> a Source #

minimum :: Ord a => URec * Word a -> a Source #

sum :: Num a => URec * Word a -> a Source #

product :: Num a => URec * Word a -> a Source #

Methods

traverse :: Applicative f => (a -> f b) -> URec * Word a -> f (URec * Word b) Source #

sequenceA :: Applicative f => URec * Word (f a) -> f (URec * Word a) Source #

mapM :: Monad m => (a -> m b) -> URec * Word a -> m (URec * Word b) Source #

sequence :: Monad m => URec * Word (m a) -> m (URec * Word a) Source #

Eq (URec k Word p) #

Methods

(==) :: URec k Word p -> URec k Word p -> Bool #

(/=) :: URec k Word p -> URec k Word p -> Bool #

Ord (URec k Word p) #

Methods

compare :: URec k Word p -> URec k Word p -> Ordering #

(<) :: URec k Word p -> URec k Word p -> Bool #

(<=) :: URec k Word p -> URec k Word p -> Bool #

(>) :: URec k Word p -> URec k Word p -> Bool #

(>=) :: URec k Word p -> URec k Word p -> Bool #

max :: URec k Word p -> URec k Word p -> URec k Word p #

min :: URec k Word p -> URec k Word p -> URec k Word p #

Methods

showsPrec :: Int -> URec k Word p -> ShowS Source #

show :: URec k Word p -> String Source #

showList :: [URec k Word p] -> ShowS Source #

Associated Types

type Rep (URec k Word p) :: * -> * Source #

Methods

from :: URec k Word p -> Rep (URec k Word p) x Source #

to :: Rep (URec k Word p) x -> URec k Word p Source #

data URec k Word Source #

Used for marking occurrences of Word#

Since: 4.9.0.0

data URec k Word = UWord {}
type Rep1 k (URec k Word) Source #
type Rep1 k (URec k Word) = D1 k (MetaData "URec" "GHC.Generics" "base" False) (C1 k (MetaCons "UWord" PrefixI True) (S1 k (MetaSel (Just Symbol "uWord#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UWord k)))
type Rep (URec k Word p) Source #
type Rep (URec k Word p) = D1 * (MetaData "URec" "GHC.Generics" "base" False) (C1 * (MetaCons "UWord" PrefixI True) (S1 * (MetaSel (Just Symbol "uWord#") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (UWord *)))

data Word8 Source #

8-bit unsigned integer type

Instances

Bounded Word8 Source #

Since: 2.1

Enum Word8 Source #

Since: 2.1

Eq Word8 Source #

Since: 2.1

Methods

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

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

Integral Word8 Source #

Since: 2.1

Data Word8 Source #

Since: 4.0.0.0

Methods

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

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

toConstr :: Word8 -> Constr Source #

dataTypeOf :: Word8 -> DataType Source #

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 -> Word8 Source #

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

gmapQr :: (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 Word8 Source #

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

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

Num Word8 Source #

Since: 2.1

Ord Word8 Source #

Since: 2.1

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 #

Read Word8 Source #

Since: 2.1

Real Word8 Source #

Since: 2.1

Show Word8 Source #

Since: 2.1

Ix Word8 Source #

Since: 2.1

FiniteBits Word8 Source #

Since: 4.6.0.0

Bits Word8 Source #

Since: 2.1

Storable Word8 Source #

Since: 2.1

PrintfArg Word8 Source #

Since: 2.1

data Word16 Source #

16-bit unsigned integer type

Instances

Bounded Word16 Source #

Since: 2.1

Enum Word16 Source #

Since: 2.1

Eq Word16 Source #

Since: 2.1

Methods

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

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

Integral Word16 Source #

Since: 2.1

Data Word16 Source #

Since: 4.0.0.0

Methods

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

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

toConstr :: Word16 -> Constr Source #

dataTypeOf :: Word16 -> DataType Source #

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 -> Word16 Source #

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

gmapQr :: (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 Word16 Source #

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

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

Num Word16 Source #

Since: 2.1

Ord Word16 Source #

Since: 2.1

Methods

compare :: Word16 -> Word16 -> Ordering #

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

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

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

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

max :: Word16 -> Word16 -> Word16 #

min :: Word16 -> Word16 -> Word16 #

Read Word16 Source #

Since: 2.1

Real Word16 Source #

Since: 2.1

Show Word16 Source #

Since: 2.1

Ix Word16 Source #

Since: 2.1

FiniteBits Word16 Source #

Since: 4.6.0.0

Bits Word16 Source #

Since: 2.1

Storable Word16 Source #

Since: 2.1

PrintfArg Word16 Source #

Since: 2.1

data Word32 Source #

32-bit unsigned integer type

Instances

Bounded Word32 Source #

Since: 2.1

Enum Word32 Source #

Since: 2.1

Eq Word32 Source #

Since: 2.1

Methods

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

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

Integral Word32 Source #

Since: 2.1

Data Word32 Source #

Since: 4.0.0.0

Methods

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

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

toConstr :: Word32 -> Constr Source #

dataTypeOf :: Word32 -> DataType Source #

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 -> Word32 Source #

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

gmapQr :: (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 Word32 Source #

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

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

Num Word32 Source #

Since: 2.1

Ord Word32 Source #

Since: 2.1

Methods

compare :: Word32 -> Word32 -> Ordering #

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

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

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

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

max :: Word32 -> Word32 -> Word32 #

min :: Word32 -> Word32 -> Word32 #

Read Word32 Source #

Since: 2.1

Real Word32 Source #

Since: 2.1

Show Word32 Source #

Since: 2.1

Ix Word32 Source #

Since: 2.1

FiniteBits Word32 Source #

Since: 4.6.0.0

Bits Word32 Source #

Since: 2.1

Storable Word32 Source #

Since: 2.1

PrintfArg Word32 Source #

Since: 2.1

data Word64 Source #

64-bit unsigned integer type

Instances

Bounded Word64 Source #

Since: 2.1

Enum Word64 Source #

Since: 2.1

Eq Word64 Source #

Since: 2.1

Methods

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

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

Integral Word64 Source #

Since: 2.1

Data Word64 Source #

Since: 4.0.0.0

Methods

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

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

toConstr :: Word64 -> Constr Source #

dataTypeOf :: Word64 -> DataType Source #

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 -> Word64 Source #

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

gmapQr :: (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 Word64 Source #

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

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

Num Word64 Source #

Since: 2.1

Ord Word64 Source #

Since: 2.1

Methods

compare :: Word64 -> Word64 -> Ordering #

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

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

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

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

max :: Word64 -> Word64 -> Word64 #

min :: Word64 -> Word64 -> Word64 #

Read Word64 Source #

Since: 2.1

Real Word64 Source #

Since: 2.1

Show Word64 Source #

Since: 2.1

Ix Word64 Source #

Since: 2.1

FiniteBits Word64 Source #

Since: 4.6.0.0

Bits Word64 Source #

Since: 2.1

Storable Word64 Source #

Since: 2.1

PrintfArg Word64 Source #

Since: 2.1

byte swapping

byteSwap16 :: Word16 -> Word16 Source #

Swap bytes in Word16 .

Since: 4.7.0.0

byteSwap32 :: Word32 -> Word32 Source #

Reverse order of bytes in Word32 .

Since: 4.7.0.0

byteSwap64 :: Word64 -> Word64 Source #

Reverse order of bytes in Word64 .

Since: 4.7.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.

AltStyle によって変換されたページ (->オリジナル) /