futhark-0.25.32: An optimising compiler for a functional, array-oriented language.

Safe Haskell | Safe-Inferred
Language | GHC2021

Language.Futhark.Primitive

Contents

- Types
- Values
- Operations
  - Unary Operations
  - Binary Operations
  - Conversion Operations
- Comparison Operations
- Type Of
- Primitive functions
- Utility
- Prettyprinting

Description

Definitions of primitive types, the values that inhabit these types, and operations on these values. A primitive value can also be called a scalar.

This module diverges from the actual Futhark language in that it does not distinguish signed and unsigned types. Further, we allow a "unit" type that is only indirectly present in source Futhark in the form of empty tuples.

Synopsis

- data IntType
  - = Int8
  - | Int16
  - | Int32
  - | Int64
- allIntTypes :: [IntType]
- data FloatType
  - = Float16
  - | Float32
  - | Float64
- allFloatTypes :: [FloatType]
- data PrimType
  - = IntType IntType
  - | FloatType FloatType
  - | Bool
  - | Unit
- allPrimTypes :: [PrimType]
- data Int8
- data Int16
- data Int32
- data Int64
- data Word8
- data Word64
- data Word32
- data Word16
- data Half
- data IntValue
  - = Int8Value !Int8
  - | Int16Value !Int16
  - | Int32Value !Int32
  - | Int64Value !Int64
- intValue :: Integral int => IntType -> int -> IntValue
- intValueType :: IntValue -> IntType
- valueIntegral :: Integral int => IntValue -> int
- data FloatValue
  - = Float16Value !Half
  - | Float32Value !Float
  - | Float64Value !Double
- floatValue :: Real num => FloatType -> num -> FloatValue
- floatValueType :: FloatValue -> FloatType
- data PrimValue
  - = IntValue !IntValue
  - | FloatValue !FloatValue
  - | BoolValue !Bool
  - | UnitValue
- primValueType :: PrimValue -> PrimType
- blankPrimValue :: PrimType -> PrimValue
- onePrimValue :: PrimType -> PrimValue
- data Overflow
  - = OverflowWrap
  - | OverflowUndef
- data Safety
  - = Unsafe
  - | Safe
- data UnOp
  - = Neg PrimType
  - | Complement IntType
  - | Abs IntType
  - | FAbs FloatType
  - | SSignum IntType
  - | USignum IntType
  - | FSignum FloatType
- allUnOps :: [UnOp]
- data BinOp
  - = Add IntType Overflow
  - | FAdd FloatType
  - | Sub IntType Overflow
  - | FSub FloatType
  - | Mul IntType Overflow
  - | FMul FloatType
  - | UDiv IntType Safety
  - | UDivUp IntType Safety
  - | SDiv IntType Safety
  - | SDivUp IntType Safety
  - | FDiv FloatType
  - | FMod FloatType
  - | UMod IntType Safety
  - | SMod IntType Safety
  - | SQuot IntType Safety
  - | SRem IntType Safety
  - | SMin IntType
  - | UMin IntType
  - | FMin FloatType
  - | SMax IntType
  - | UMax IntType
  - | FMax FloatType
  - | Shl IntType
  - | LShr IntType
  - | AShr IntType
  - | And IntType
  - | Or IntType
  - | Xor IntType
  - | Pow IntType
  - | FPow FloatType
  - | LogAnd
  - | LogOr
- allBinOps :: [BinOp]
- data ConvOp
  - = ZExt IntType IntType
  - | SExt IntType IntType
  - | FPConv FloatType FloatType
  - | FPToUI FloatType IntType
  - | FPToSI FloatType IntType
  - | UIToFP IntType FloatType
  - | SIToFP IntType FloatType
  - | FPToBits FloatType
  - | BitsToFP FloatType
  - | IToB IntType
  - | BToI IntType
  - | FToB FloatType
  - | BToF FloatType
- allConvOps :: [ConvOp]
- data CmpOp
  - = CmpEq PrimType
  - | CmpUlt IntType
  - | CmpUle IntType
  - | CmpSlt IntType
  - | CmpSle IntType
  - | FCmpLt FloatType
  - | FCmpLe FloatType
  - | CmpLlt
  - | CmpLle
- allCmpOps :: [CmpOp]
- doUnOp :: UnOp -> PrimValue -> Maybe PrimValue
- doComplement :: IntValue -> IntValue
- doAbs :: IntValue -> IntValue
- doFAbs :: FloatValue -> FloatValue
- doSSignum :: IntValue -> IntValue
- doUSignum :: IntValue -> IntValue
- doBinOp :: BinOp -> PrimValue -> PrimValue -> Maybe PrimValue
- doAdd :: IntValue -> IntValue -> IntValue
- doMul :: IntValue -> IntValue -> IntValue
- doSDiv :: IntValue -> IntValue -> Maybe IntValue
- doSMod :: IntValue -> IntValue -> Maybe IntValue
- doPow :: IntValue -> IntValue -> Maybe IntValue
- doConvOp :: ConvOp -> PrimValue -> Maybe PrimValue
- doZExt :: IntValue -> IntType -> IntValue
- doSExt :: IntValue -> IntType -> IntValue
- doFPConv :: FloatValue -> FloatType -> FloatValue
- doFPToUI :: FloatValue -> IntType -> IntValue
- doFPToSI :: FloatValue -> IntType -> IntValue
- doUIToFP :: IntValue -> FloatType -> FloatValue
- doSIToFP :: IntValue -> FloatType -> FloatValue
- intToInt64 :: IntValue -> Int64
- intToWord64 :: IntValue -> Word64
- flipConvOp :: ConvOp -> ConvOp
- doCmpOp :: CmpOp -> PrimValue -> PrimValue -> Maybe Bool
- doCmpEq :: PrimValue -> PrimValue -> Bool
- doCmpUlt :: IntValue -> IntValue -> Bool
- doCmpUle :: IntValue -> IntValue -> Bool
- doCmpSlt :: IntValue -> IntValue -> Bool
- doCmpSle :: IntValue -> IntValue -> Bool
- doFCmpLt :: FloatValue -> FloatValue -> Bool
- doFCmpLe :: FloatValue -> FloatValue -> Bool
- binOpType :: BinOp -> PrimType
- unOpType :: UnOp -> PrimType
- cmpOpType :: CmpOp -> PrimType
- convOpType :: ConvOp -> (PrimType, PrimType)
- primFuns :: Map Text ([PrimType], PrimType, [PrimValue] -> Maybe PrimValue)
- condFun :: PrimType -> Text
- isCondFun :: Text -> Maybe PrimType
- zeroIsh :: PrimValue -> Bool
- zeroIshInt :: IntValue -> Bool
- oneIsh :: PrimValue -> Bool
- oneIshInt :: IntValue -> Bool
- negativeIsh :: PrimValue -> Bool
- primBitSize :: PrimType -> Int
- primByteSize :: Num a => PrimType -> a
- intByteSize :: Num a => IntType -> a
- floatByteSize :: Num a => FloatType -> a
- commutativeBinOp :: BinOp -> Bool
- associativeBinOp :: BinOp -> Bool
- convOpFun :: ConvOp -> String
- prettySigned :: Bool -> PrimType -> Text

# Types

data IntType Source #

An integer type, ordered by size. Note that signedness is not a property of the type, but a property of the operations performed on values of these types.

Constructors

Int8 |
Int16 |
Int32 |
Int64 |

#### Instances

Instances details

Bounded IntType Source # |
Instance details Defined in Language.Futhark.Primitive Methods minBound :: IntType Source # maxBound :: IntType Source #
Enum IntType Source # |

Instance details

Defined in Language.Futhark.Primitive

Methods

succ :: IntType -> IntType Source #

pred :: IntType -> IntType Source #

toEnum :: Int -> IntType Source #

fromEnum :: IntType -> Int Source #

enumFrom :: IntType -> [IntType] Source #

enumFromThen :: IntType -> IntType -> [IntType] Source #

enumFromTo :: IntType -> IntType -> [IntType] Source #

enumFromThenTo :: IntType -> IntType -> IntType -> [IntType] Source #

Show IntType Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> IntType -> ShowS Source # show :: IntType -> String Source # showList :: [IntType] -> ShowS Source #
Eq IntType Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: IntType -> IntType -> Bool Source # (/=) :: IntType -> IntType -> Bool Source #
Ord IntType Source # |
Instance details Defined in Language.Futhark.Primitive Methods compare :: IntType -> IntType -> Ordering Source # (<) :: IntType -> IntType -> Bool Source # (<=) :: IntType -> IntType -> Bool Source # (>) :: IntType -> IntType -> Bool Source # (>=) :: IntType -> IntType -> Bool Source # max :: IntType -> IntType -> IntType Source # min :: IntType -> IntType -> IntType Source #
Pretty IntType Source # |
Instance details Defined in Language.Futhark.Primitive Methods pretty :: IntType -> Doc ann Source # prettyList :: [IntType] -> Doc ann Source #

allIntTypes :: [IntType] Source #

A list of all integer types.

data FloatType Source #

A floating point type.

Constructors

Float16 |
Float32 |
Float64 |

#### Instances

Instances details

Bounded FloatType Source # |
Instance details Defined in Language.Futhark.Primitive Methods minBound :: FloatType Source # maxBound :: FloatType Source #
Enum FloatType Source # |

Instance details

Defined in Language.Futhark.Primitive

Methods

succ :: FloatType -> FloatType Source #

pred :: FloatType -> FloatType Source #

toEnum :: Int -> FloatType Source #

fromEnum :: FloatType -> Int Source #

enumFrom :: FloatType -> [FloatType] Source #

enumFromThen :: FloatType -> FloatType -> [FloatType] Source #

enumFromTo :: FloatType -> FloatType -> [FloatType] Source #

enumFromThenTo :: FloatType -> FloatType -> FloatType -> [FloatType] Source #

Show FloatType Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> FloatType -> ShowS Source # show :: FloatType -> String Source # showList :: [FloatType] -> ShowS Source #
Eq FloatType Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: FloatType -> FloatType -> Bool Source # (/=) :: FloatType -> FloatType -> Bool Source #
Ord FloatType Source # |

Instance details

Defined in Language.Futhark.Primitive

Methods

compare :: FloatType -> FloatType -> Ordering Source #

(<) :: FloatType -> FloatType -> Bool Source #

(<=) :: FloatType -> FloatType -> Bool Source #

(>) :: FloatType -> FloatType -> Bool Source #

(>=) :: FloatType -> FloatType -> Bool Source #

max :: FloatType -> FloatType -> FloatType Source #

min :: FloatType -> FloatType -> FloatType Source #

Pretty FloatType Source # |
Instance details Defined in Language.Futhark.Primitive Methods pretty :: FloatType -> Doc ann Source # prettyList :: [FloatType] -> Doc ann Source #

allFloatTypes :: [FloatType] Source #

A list of all floating-point types.

data PrimType Source #

Low-level primitive types.

Constructors

IntType IntType |
FloatType FloatType |
Bool |
Unit | An informationless type - An array of this type takes up no space.

#### Instances

Instances details

Bounded PrimType Source # |
Instance details Defined in Language.Futhark.Primitive Methods minBound :: PrimType Source # maxBound :: PrimType Source #
Enum PrimType Source # |

Instance details

Defined in Language.Futhark.Primitive

Methods

succ :: PrimType -> PrimType Source #

pred :: PrimType -> PrimType Source #

toEnum :: Int -> PrimType Source #

fromEnum :: PrimType -> Int Source #

enumFrom :: PrimType -> [PrimType] Source #

enumFromThen :: PrimType -> PrimType -> [PrimType] Source #

enumFromTo :: PrimType -> PrimType -> [PrimType] Source #

enumFromThenTo :: PrimType -> PrimType -> PrimType -> [PrimType] Source #

Show PrimType Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> PrimType -> ShowS Source # show :: PrimType -> String Source # showList :: [PrimType] -> ShowS Source #
FreeIn PrimType Source # |
Instance details Defined in Futhark.IR.Prop.Names Methods freeIn' :: PrimType -> FV Source #
Simplifiable PrimType Source # |
Instance details Defined in Futhark.Optimise.Simplify.Engine Methods simplify :: SimplifiableRep rep => PrimType -> SimpleM rep PrimType Source #
Rename PrimType Source # |
Instance details Defined in Futhark.Transform.Rename Methods rename :: PrimType -> RenameM PrimType Source #
Substitute PrimType Source # |
Instance details Defined in Futhark.Transform.Substitute Methods substituteNames :: Map VName VName -> PrimType -> PrimType Source #
Eq PrimType Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: PrimType -> PrimType -> Bool Source # (/=) :: PrimType -> PrimType -> Bool Source #
Ord PrimType Source # |
Instance details Defined in Language.Futhark.Primitive Methods compare :: PrimType -> PrimType -> Ordering Source # (<) :: PrimType -> PrimType -> Bool Source # (<=) :: PrimType -> PrimType -> Bool Source # (>) :: PrimType -> PrimType -> Bool Source # (>=) :: PrimType -> PrimType -> Bool Source # max :: PrimType -> PrimType -> PrimType Source # min :: PrimType -> PrimType -> PrimType Source #
Pretty PrimType Source # |
Instance details Defined in Language.Futhark.Primitive Methods pretty :: PrimType -> Doc ann Source # prettyList :: [PrimType] -> Doc ann Source #

allPrimTypes :: [PrimType] Source #

A list of all primitive types.

data Int8 Source #

8-bit signed integer type

#### Instances

Instances details

FromJSON Int8 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Int8 Source # parseJSONList :: Value -> Parser [Int8] Source #
FromJSONKey Int8 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Int8 Source # fromJSONKeyList :: FromJSONKeyFunction [Int8] Source #
ToJSON Int8 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Int8 -> Value Source # toEncoding :: Int8 -> Encoding Source # toJSONList :: [Int8] -> Value Source # toEncodingList :: [Int8] -> Encoding Source #
ToJSONKey Int8 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Int8 Source # toJSONKeyList :: ToJSONKeyFunction [Int8] Source #
Storable Int8 | Since: base-2.1

Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Int8 -> Int Source #

alignment :: Int8 -> Int Source #

peekElemOff :: Ptr Int8 -> Int -> IO Int8 Source #

pokeElemOff :: Ptr Int8 -> Int -> Int8 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Int8 Source #

pokeByteOff :: Ptr b -> Int -> Int8 -> IO () Source #

peek :: Ptr Int8 -> IO Int8 Source #

poke :: Ptr Int8 -> Int8 -> IO () Source #

Bits Int8 | Since: base-2.1

Instance details

Defined in GHC.Int

Methods

(.&.) :: Int8 -> Int8 -> Int8 Source #

(.|.) :: Int8 -> Int8 -> Int8 Source #

xor :: Int8 -> Int8 -> Int8 Source #

complement :: Int8 -> Int8 Source #

shift :: Int8 -> Int -> Int8 Source #

rotate :: Int8 -> Int -> Int8 Source #

zeroBits :: Int8 Source #

bit :: Int -> Int8 Source #

setBit :: Int8 -> Int -> Int8 Source #

clearBit :: Int8 -> Int -> Int8 Source #

complementBit :: Int8 -> Int -> Int8 Source #

testBit :: Int8 -> Int -> Bool Source #

bitSizeMaybe :: Int8 -> Maybe Int Source #

bitSize :: Int8 -> Int Source #

isSigned :: Int8 -> Bool Source #

shiftL :: Int8 -> Int -> Int8 Source #

unsafeShiftL :: Int8 -> Int -> Int8 Source #

shiftR :: Int8 -> Int -> Int8 Source #

unsafeShiftR :: Int8 -> Int -> Int8 Source #

rotateL :: Int8 -> Int -> Int8 Source #

rotateR :: Int8 -> Int -> Int8 Source #

popCount :: Int8 -> Int Source #

FiniteBits Int8 | Since: base-4.6.0.0
Instance details Defined in GHC.Int Methods finiteBitSize :: Int8 -> Int Source # countLeadingZeros :: Int8 -> Int Source # countTrailingZeros :: Int8 -> Int Source #
Bounded Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods minBound :: Int8 Source # maxBound :: Int8 Source #
Enum Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods succ :: Int8 -> Int8 Source # pred :: Int8 -> Int8 Source # toEnum :: Int -> Int8 Source # fromEnum :: Int8 -> Int Source # enumFrom :: Int8 -> [Int8] Source # enumFromThen :: Int8 -> Int8 -> [Int8] Source # enumFromTo :: Int8 -> Int8 -> [Int8] Source # enumFromThenTo :: Int8 -> Int8 -> Int8 -> [Int8] Source #
Ix Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods range :: (Int8, Int8) -> [Int8] Source # index :: (Int8, Int8) -> Int8 -> Int Source # unsafeIndex :: (Int8, Int8) -> Int8 -> Int Source # inRange :: (Int8, Int8) -> Int8 -> Bool Source # rangeSize :: (Int8, Int8) -> Int Source # unsafeRangeSize :: (Int8, Int8) -> Int Source #
Num Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods (+) :: Int8 -> Int8 -> Int8 Source # (-) :: Int8 -> Int8 -> Int8 Source # (*) :: Int8 -> Int8 -> Int8 Source # negate :: Int8 -> Int8 Source # abs :: Int8 -> Int8 Source # signum :: Int8 -> Int8 Source # fromInteger :: Integer -> Int8 Source #
Read Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods readsPrec :: Int -> ReadS Int8 Source # readList :: ReadS [Int8] Source # readPrec :: ReadPrec Int8 Source # readListPrec :: ReadPrec [Int8] Source #
Integral Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods quot :: Int8 -> Int8 -> Int8 Source # rem :: Int8 -> Int8 -> Int8 Source # div :: Int8 -> Int8 -> Int8 Source # mod :: Int8 -> Int8 -> Int8 Source # quotRem :: Int8 -> Int8 -> (Int8, Int8) Source # divMod :: Int8 -> Int8 -> (Int8, Int8) Source # toInteger :: Int8 -> Integer Source #
Real Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods toRational :: Int8 -> Rational Source #
Show Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods showsPrec :: Int -> Int8 -> ShowS Source # show :: Int8 -> String Source # showList :: [Int8] -> ShowS Source #
PrintfArg Int8 | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Int8 -> FieldFormatter Source # parseFormat :: Int8 -> ModifierParser Source #
Binary Int8 |
Instance details Defined in Data.Binary.Class Methods put :: Int8 -> Put Source # get :: Get Int8 Source # putList :: [Int8] -> Put Source #
NFData Int8 |
Instance details Defined in Control.DeepSeq Methods rnf :: Int8 -> () Source #
IsValue Int8 Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: Int8 -> PrimValue Source #
IsPrimValue Int8 Source # |
Instance details Defined in Language.Futhark.Syntax Methods primValue :: Int8 -> PrimValue Source #
GetValue Int8 |
Instance details Defined in Futhark.Data Methods getValue :: Value -> Maybe Int8 Source #
PutValue Int8 |
Instance details Defined in Futhark.Data Methods putValue :: Int8 -> Maybe Value Source #
PutValue1 Int8 |
Instance details Defined in Futhark.Data Methods putValue1 :: Int8 -> Value Source #
Eq Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods (==) :: Int8 -> Int8 -> Bool Source # (/=) :: Int8 -> Int8 -> Bool Source #
Ord Int8 | Since: base-2.1
Instance details Defined in GHC.Int Methods compare :: Int8 -> Int8 -> Ordering Source # (<) :: Int8 -> Int8 -> Bool Source # (<=) :: Int8 -> Int8 -> Bool Source # (>) :: Int8 -> Int8 -> Bool Source # (>=) :: Int8 -> Int8 -> Bool Source # max :: Int8 -> Int8 -> Int8 Source # min :: Int8 -> Int8 -> Int8 Source #
Hashable Int8 |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Int8 -> Int hash :: Int8 -> Int
ToConst Int8 |
Instance details Defined in Language.C.Quote.Base Methods toConst :: Int8 -> SrcLoc -> Const Source #
ToExp Int8 |
Instance details Defined in Language.C.Quote.Base Methods toExp :: Int8 -> SrcLoc -> Exp Source #
Pretty Int8 |
Instance details Defined in Text.PrettyPrint.Mainland.Class Methods ppr :: Int8 -> Doc Source # pprPrec :: Int -> Int8 -> Doc Source # pprList :: [Int8] -> Doc Source #
Variate Int8 |
Instance details Defined in System.Random.MWC Methods uniform :: PrimMonad m => Gen (PrimState m) -> m Int8 Source # uniformR :: PrimMonad m => (Int8, Int8) -> Gen (PrimState m) -> m Int8 Source #
Pretty Int8 |
Instance details Defined in Prettyprinter.Internal Methods pretty :: Int8 -> Doc ann Source # prettyList :: [Int8] -> Doc ann Source #
Prim Int8 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int8 -> Int#

alignment# :: Int8 -> Int#

indexByteArray# :: ByteArray# -> Int# -> Int8

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int8 #)

writeByteArray# :: MutableByteArray# s -> Int# -> Int8 -> State# s -> State# s

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int8 -> State# s -> State# s

indexOffAddr# :: Addr# -> Int# -> Int8

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int8 #)

writeOffAddr# :: Addr# -> Int# -> Int8 -> State# s -> State# s

setOffAddr# :: Addr# -> Int# -> Int# -> Int8 -> State# s -> State# s

Random Int8 |
Instance details Defined in System.Random Methods randomR :: RandomGen g => (Int8, Int8) -> g -> (Int8, g) Source # random :: RandomGen g => g -> (Int8, g) Source # randomRs :: RandomGen g => (Int8, Int8) -> g -> [Int8] Source # randoms :: RandomGen g => g -> [Int8] Source #
Finite Int8 |
Instance details Defined in System.Random.GFinite Methods cardinality :: Proxy# Int8 -> Cardinality toFinite :: Integer -> Int8 fromFinite :: Int8 -> Integer
Uniform Int8 |
Instance details Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Int8 Source #
UniformRange Int8 |
Instance details Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Int8, Int8) -> g -> m Int8 Source #
Unbox Int8 |
Instance details Defined in Data.Vector.Unboxed.Base
IArray UArray Int8 |

Instance details

Defined in Data.Array.Base

Methods

bounds :: Ix i => UArray i Int8 -> (i, i) Source #

numElements :: Ix i => UArray i Int8 -> Int Source #

unsafeArray :: Ix i => (i, i) -> [(Int, Int8)] -> UArray i Int8 Source #

unsafeAt :: Ix i => UArray i Int8 -> Int -> Int8 Source #

unsafeReplace :: Ix i => UArray i Int8 -> [(Int, Int8)] -> UArray i Int8 Source #

unsafeAccum :: Ix i => (Int8 -> e' -> Int8) -> UArray i Int8 -> [(Int, e')] -> UArray i Int8 Source #

unsafeAccumArray :: Ix i => (Int8 -> e' -> Int8) -> Int8 -> (i, i) -> [(Int, e')] -> UArray i Int8 Source #

IntExp Int8 Source # |
Instance details Defined in Futhark.Analysis.PrimExp Methods expIntType :: TPrimExp Int8 v -> IntType Source #
NumExp Int8 Source # |
Instance details Defined in Futhark.Analysis.PrimExp Methods fromInteger' :: Integer -> TPrimExp Int8 v Source # fromBoolExp :: TPrimExp Bool v -> TPrimExp Int8 v Source #
MkTV Int8 Source # |
Instance details Defined in Futhark.CodeGen.ImpGen Methods mkTV :: VName -> TV Int8 Source # tvType :: TV Int8 -> PrimType Source #
Lift Int8 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Int8 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Int8 -> Code m Int8 Source #
Vector Vector Int8 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Int8 -> ST s (Vector Int8) Source #

basicUnsafeThaw :: Vector Int8 -> ST s (Mutable Vector s Int8) Source #

basicLength :: Vector Int8 -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector Int8 -> Vector Int8 Source #

basicUnsafeIndexM :: Vector Int8 -> Int -> Box Int8 Source #

basicUnsafeCopy :: Mutable Vector s Int8 -> Vector Int8 -> ST s () Source #

elemseq :: Vector Int8 -> Int8 -> b -> b Source #

MVector MVector Int8 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Int8 -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s Int8 -> MVector s Int8 Source #

basicOverlaps :: MVector s Int8 -> MVector s Int8 -> Bool Source #

basicUnsafeNew :: Int -> ST s (MVector s Int8) Source #

basicInitialize :: MVector s Int8 -> ST s () Source #

basicUnsafeReplicate :: Int -> Int8 -> ST s (MVector s Int8) Source #

basicUnsafeRead :: MVector s Int8 -> Int -> ST s Int8 Source #

basicUnsafeWrite :: MVector s Int8 -> Int -> Int8 -> ST s () Source #

basicClear :: MVector s Int8 -> ST s () Source #

basicSet :: MVector s Int8 -> Int8 -> ST s () Source #

basicUnsafeCopy :: MVector s Int8 -> MVector s Int8 -> ST s () Source #

basicUnsafeMove :: MVector s Int8 -> MVector s Int8 -> ST s () Source #

basicUnsafeGrow :: MVector s Int8 -> Int -> ST s (MVector s Int8) Source #

MArray (STUArray s) Int8 (ST s) |

Instance details

Defined in Data.Array.Base

Methods

getBounds :: Ix i => STUArray s i Int8 -> ST s (i, i) Source #

getNumElements :: Ix i => STUArray s i Int8 -> ST s Int Source #

newArray :: Ix i => (i, i) -> Int8 -> ST s (STUArray s i Int8) Source #

newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Int8) Source #

unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Int8) Source #

unsafeRead :: Ix i => STUArray s i Int8 -> Int -> ST s Int8 Source #

unsafeWrite :: Ix i => STUArray s i Int8 -> Int -> Int8 -> ST s () Source #

type Unsigned Int8 |
Instance details Defined in System.Random.MWC type Unsigned Int8 = Word8
newtype Vector Int8 |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector Int8 = V_Int8 (Vector Int8)
newtype MVector s Int8 |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s Int8 = MV_Int8 (MVector s Int8)

data Int16 Source #

16-bit signed integer type

#### Instances

Instances details

FromJSON Int16 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Int16 Source # parseJSONList :: Value -> Parser [Int16] Source #
FromJSONKey Int16 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Int16 Source # fromJSONKeyList :: FromJSONKeyFunction [Int16] Source #
ToJSON Int16 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Int16 -> Value Source # toEncoding :: Int16 -> Encoding Source # toJSONList :: [Int16] -> Value Source # toEncodingList :: [Int16] -> Encoding Source #
ToJSONKey Int16 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Int16 Source # toJSONKeyList :: ToJSONKeyFunction [Int16] Source #
Storable Int16 | Since: base-2.1

Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Int16 -> Int Source #

alignment :: Int16 -> Int Source #

peekElemOff :: Ptr Int16 -> Int -> IO Int16 Source #

pokeElemOff :: Ptr Int16 -> Int -> Int16 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Int16 Source #

pokeByteOff :: Ptr b -> Int -> Int16 -> IO () Source #

peek :: Ptr Int16 -> IO Int16 Source #

poke :: Ptr Int16 -> Int16 -> IO () Source #

Bits Int16 | Since: base-2.1

Instance details

Defined in GHC.Int

Methods

(.&.) :: Int16 -> Int16 -> Int16 Source #

(.|.) :: Int16 -> Int16 -> Int16 Source #

xor :: Int16 -> Int16 -> Int16 Source #

complement :: Int16 -> Int16 Source #

shift :: Int16 -> Int -> Int16 Source #

rotate :: Int16 -> Int -> Int16 Source #

zeroBits :: Int16 Source #

bit :: Int -> Int16 Source #

setBit :: Int16 -> Int -> Int16 Source #

clearBit :: Int16 -> Int -> Int16 Source #

complementBit :: Int16 -> Int -> Int16 Source #

testBit :: Int16 -> Int -> Bool Source #

bitSizeMaybe :: Int16 -> Maybe Int Source #

bitSize :: Int16 -> Int Source #

isSigned :: Int16 -> Bool Source #

shiftL :: Int16 -> Int -> Int16 Source #

unsafeShiftL :: Int16 -> Int -> Int16 Source #

shiftR :: Int16 -> Int -> Int16 Source #

unsafeShiftR :: Int16 -> Int -> Int16 Source #

rotateL :: Int16 -> Int -> Int16 Source #

rotateR :: Int16 -> Int -> Int16 Source #

popCount :: Int16 -> Int Source #

FiniteBits Int16 | Since: base-4.6.0.0
Instance details Defined in GHC.Int Methods finiteBitSize :: Int16 -> Int Source # countLeadingZeros :: Int16 -> Int Source # countTrailingZeros :: Int16 -> Int Source #
Bounded Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods minBound :: Int16 Source # maxBound :: Int16 Source #
Enum Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods succ :: Int16 -> Int16 Source # pred :: Int16 -> Int16 Source # toEnum :: Int -> Int16 Source # fromEnum :: Int16 -> Int Source # enumFrom :: Int16 -> [Int16] Source # enumFromThen :: Int16 -> Int16 -> [Int16] Source # enumFromTo :: Int16 -> Int16 -> [Int16] Source # enumFromThenTo :: Int16 -> Int16 -> Int16 -> [Int16] Source #
Ix Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods range :: (Int16, Int16) -> [Int16] Source # index :: (Int16, Int16) -> Int16 -> Int Source # unsafeIndex :: (Int16, Int16) -> Int16 -> Int Source # inRange :: (Int16, Int16) -> Int16 -> Bool Source # rangeSize :: (Int16, Int16) -> Int Source # unsafeRangeSize :: (Int16, Int16) -> Int Source #
Num Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods (+) :: Int16 -> Int16 -> Int16 Source # (-) :: Int16 -> Int16 -> Int16 Source # (*) :: Int16 -> Int16 -> Int16 Source # negate :: Int16 -> Int16 Source # abs :: Int16 -> Int16 Source # signum :: Int16 -> Int16 Source # fromInteger :: Integer -> Int16 Source #
Read Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods readsPrec :: Int -> ReadS Int16 Source # readList :: ReadS [Int16] Source # readPrec :: ReadPrec Int16 Source # readListPrec :: ReadPrec [Int16] Source #
Integral Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods quot :: Int16 -> Int16 -> Int16 Source # rem :: Int16 -> Int16 -> Int16 Source # div :: Int16 -> Int16 -> Int16 Source # mod :: Int16 -> Int16 -> Int16 Source # quotRem :: Int16 -> Int16 -> (Int16, Int16) Source # divMod :: Int16 -> Int16 -> (Int16, Int16) Source # toInteger :: Int16 -> Integer Source #
Real Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods toRational :: Int16 -> Rational Source #
Show Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods showsPrec :: Int -> Int16 -> ShowS Source # show :: Int16 -> String Source # showList :: [Int16] -> ShowS Source #
PrintfArg Int16 | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Int16 -> FieldFormatter Source # parseFormat :: Int16 -> ModifierParser Source #
Binary Int16 |
Instance details Defined in Data.Binary.Class Methods put :: Int16 -> Put Source # get :: Get Int16 Source # putList :: [Int16] -> Put Source #
NFData Int16 |
Instance details Defined in Control.DeepSeq Methods rnf :: Int16 -> () Source #
IsValue Int16 Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: Int16 -> PrimValue Source #
IsPrimValue Int16 Source # |
Instance details Defined in Language.Futhark.Syntax Methods primValue :: Int16 -> PrimValue Source #
GetValue Int16 |
Instance details Defined in Futhark.Data Methods getValue :: Value -> Maybe Int16 Source #
PutValue Int16 |
Instance details Defined in Futhark.Data Methods putValue :: Int16 -> Maybe Value Source #
PutValue1 Int16 |
Instance details Defined in Futhark.Data Methods putValue1 :: Int16 -> Value Source #
Eq Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods (==) :: Int16 -> Int16 -> Bool Source # (/=) :: Int16 -> Int16 -> Bool Source #
Ord Int16 | Since: base-2.1
Instance details Defined in GHC.Int Methods compare :: Int16 -> Int16 -> Ordering Source # (<) :: Int16 -> Int16 -> Bool Source # (<=) :: Int16 -> Int16 -> Bool Source # (>) :: Int16 -> Int16 -> Bool Source # (>=) :: Int16 -> Int16 -> Bool Source # max :: Int16 -> Int16 -> Int16 Source # min :: Int16 -> Int16 -> Int16 Source #
Hashable Int16 |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Int16 -> Int hash :: Int16 -> Int
ToConst Int16 |
Instance details Defined in Language.C.Quote.Base Methods toConst :: Int16 -> SrcLoc -> Const Source #
ToExp Int16 |
Instance details Defined in Language.C.Quote.Base Methods toExp :: Int16 -> SrcLoc -> Exp Source #
Pretty Int16 |
Instance details Defined in Text.PrettyPrint.Mainland.Class Methods ppr :: Int16 -> Doc Source # pprPrec :: Int -> Int16 -> Doc Source # pprList :: [Int16] -> Doc Source #
Variate Int16 |
Instance details Defined in System.Random.MWC Methods uniform :: PrimMonad m => Gen (PrimState m) -> m Int16 Source # uniformR :: PrimMonad m => (Int16, Int16) -> Gen (PrimState m) -> m Int16 Source #
Pretty Int16 |
Instance details Defined in Prettyprinter.Internal Methods pretty :: Int16 -> Doc ann Source # prettyList :: [Int16] -> Doc ann Source #
Prim Int16 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int16 -> Int#

alignment# :: Int16 -> Int#

indexByteArray# :: ByteArray# -> Int# -> Int16

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int16 #)

writeByteArray# :: MutableByteArray# s -> Int# -> Int16 -> State# s -> State# s

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int16 -> State# s -> State# s

indexOffAddr# :: Addr# -> Int# -> Int16

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int16 #)

writeOffAddr# :: Addr# -> Int# -> Int16 -> State# s -> State# s

setOffAddr# :: Addr# -> Int# -> Int# -> Int16 -> State# s -> State# s

Random Int16 |
Instance details Defined in System.Random Methods randomR :: RandomGen g => (Int16, Int16) -> g -> (Int16, g) Source # random :: RandomGen g => g -> (Int16, g) Source # randomRs :: RandomGen g => (Int16, Int16) -> g -> [Int16] Source # randoms :: RandomGen g => g -> [Int16] Source #
Finite Int16 |
Instance details Defined in System.Random.GFinite Methods cardinality :: Proxy# Int16 -> Cardinality toFinite :: Integer -> Int16 fromFinite :: Int16 -> Integer
Uniform Int16 |
Instance details Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Int16 Source #
UniformRange Int16 |
Instance details Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Int16, Int16) -> g -> m Int16 Source #
Unbox Int16 |
Instance details Defined in Data.Vector.Unboxed.Base
IArray UArray Int16 |

Instance details

Defined in Data.Array.Base

Methods

bounds :: Ix i => UArray i Int16 -> (i, i) Source #

numElements :: Ix i => UArray i Int16 -> Int Source #

unsafeArray :: Ix i => (i, i) -> [(Int, Int16)] -> UArray i Int16 Source #

unsafeAt :: Ix i => UArray i Int16 -> Int -> Int16 Source #

unsafeReplace :: Ix i => UArray i Int16 -> [(Int, Int16)] -> UArray i Int16 Source #

unsafeAccum :: Ix i => (Int16 -> e' -> Int16) -> UArray i Int16 -> [(Int, e')] -> UArray i Int16 Source #

unsafeAccumArray :: Ix i => (Int16 -> e' -> Int16) -> Int16 -> (i, i) -> [(Int, e')] -> UArray i Int16 Source #

IntExp Int16 Source # |
Instance details Defined in Futhark.Analysis.PrimExp Methods expIntType :: TPrimExp Int16 v -> IntType Source #
NumExp Int16 Source # |
Instance details Defined in Futhark.Analysis.PrimExp Methods fromInteger' :: Integer -> TPrimExp Int16 v Source # fromBoolExp :: TPrimExp Bool v -> TPrimExp Int16 v Source #
MkTV Int16 Source # |
Instance details Defined in Futhark.CodeGen.ImpGen Methods mkTV :: VName -> TV Int16 Source # tvType :: TV Int16 -> PrimType Source #
Lift Int16 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Int16 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Int16 -> Code m Int16 Source #
Vector Vector Int16 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Int16 -> ST s (Vector Int16) Source #

basicUnsafeThaw :: Vector Int16 -> ST s (Mutable Vector s Int16) Source #

basicLength :: Vector Int16 -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector Int16 -> Vector Int16 Source #

basicUnsafeIndexM :: Vector Int16 -> Int -> Box Int16 Source #

basicUnsafeCopy :: Mutable Vector s Int16 -> Vector Int16 -> ST s () Source #

elemseq :: Vector Int16 -> Int16 -> b -> b Source #

MVector MVector Int16 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Int16 -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s Int16 -> MVector s Int16 Source #

basicOverlaps :: MVector s Int16 -> MVector s Int16 -> Bool Source #

basicUnsafeNew :: Int -> ST s (MVector s Int16) Source #

basicInitialize :: MVector s Int16 -> ST s () Source #

basicUnsafeReplicate :: Int -> Int16 -> ST s (MVector s Int16) Source #

basicUnsafeRead :: MVector s Int16 -> Int -> ST s Int16 Source #

basicUnsafeWrite :: MVector s Int16 -> Int -> Int16 -> ST s () Source #

basicClear :: MVector s Int16 -> ST s () Source #

basicSet :: MVector s Int16 -> Int16 -> ST s () Source #

basicUnsafeCopy :: MVector s Int16 -> MVector s Int16 -> ST s () Source #

basicUnsafeMove :: MVector s Int16 -> MVector s Int16 -> ST s () Source #

basicUnsafeGrow :: MVector s Int16 -> Int -> ST s (MVector s Int16) Source #

MArray (STUArray s) Int16 (ST s) |

Instance details

Defined in Data.Array.Base

Methods

getBounds :: Ix i => STUArray s i Int16 -> ST s (i, i) Source #

getNumElements :: Ix i => STUArray s i Int16 -> ST s Int Source #

newArray :: Ix i => (i, i) -> Int16 -> ST s (STUArray s i Int16) Source #

newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Int16) Source #

unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Int16) Source #

unsafeRead :: Ix i => STUArray s i Int16 -> Int -> ST s Int16 Source #

unsafeWrite :: Ix i => STUArray s i Int16 -> Int -> Int16 -> ST s () Source #

type Unsigned Int16 |
Instance details Defined in System.Random.MWC type Unsigned Int16 = Word16
newtype Vector Int16 |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector Int16 = V_Int16 (Vector Int16)
newtype MVector s Int16 |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s Int16 = MV_Int16 (MVector s Int16)

data Int32 Source #

32-bit signed integer type

#### Instances

Instances details

FromJSON Int32 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Int32 Source # parseJSONList :: Value -> Parser [Int32] Source #
FromJSONKey Int32 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Int32 Source # fromJSONKeyList :: FromJSONKeyFunction [Int32] Source #
ToJSON Int32 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Int32 -> Value Source # toEncoding :: Int32 -> Encoding Source # toJSONList :: [Int32] -> Value Source # toEncodingList :: [Int32] -> Encoding Source #
ToJSONKey Int32 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Int32 Source # toJSONKeyList :: ToJSONKeyFunction [Int32] Source #
Storable Int32 | Since: base-2.1

Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Int32 -> Int Source #

alignment :: Int32 -> Int Source #

peekElemOff :: Ptr Int32 -> Int -> IO Int32 Source #

pokeElemOff :: Ptr Int32 -> Int -> Int32 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Int32 Source #

pokeByteOff :: Ptr b -> Int -> Int32 -> IO () Source #

peek :: Ptr Int32 -> IO Int32 Source #

poke :: Ptr Int32 -> Int32 -> IO () Source #

Bits Int32 | Since: base-2.1

Instance details

Defined in GHC.Int

Methods

(.&.) :: Int32 -> Int32 -> Int32 Source #

(.|.) :: Int32 -> Int32 -> Int32 Source #

xor :: Int32 -> Int32 -> Int32 Source #

complement :: Int32 -> Int32 Source #

shift :: Int32 -> Int -> Int32 Source #

rotate :: Int32 -> Int -> Int32 Source #

zeroBits :: Int32 Source #

bit :: Int -> Int32 Source #

setBit :: Int32 -> Int -> Int32 Source #

clearBit :: Int32 -> Int -> Int32 Source #

complementBit :: Int32 -> Int -> Int32 Source #

testBit :: Int32 -> Int -> Bool Source #

bitSizeMaybe :: Int32 -> Maybe Int Source #

bitSize :: Int32 -> Int Source #

isSigned :: Int32 -> Bool Source #

shiftL :: Int32 -> Int -> Int32 Source #

unsafeShiftL :: Int32 -> Int -> Int32 Source #

shiftR :: Int32 -> Int -> Int32 Source #

unsafeShiftR :: Int32 -> Int -> Int32 Source #

rotateL :: Int32 -> Int -> Int32 Source #

rotateR :: Int32 -> Int -> Int32 Source #

popCount :: Int32 -> Int Source #

FiniteBits Int32 | Since: base-4.6.0.0
Instance details Defined in GHC.Int Methods finiteBitSize :: Int32 -> Int Source # countLeadingZeros :: Int32 -> Int Source # countTrailingZeros :: Int32 -> Int Source #
Bounded Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods minBound :: Int32 Source # maxBound :: Int32 Source #
Enum Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods succ :: Int32 -> Int32 Source # pred :: Int32 -> Int32 Source # toEnum :: Int -> Int32 Source # fromEnum :: Int32 -> Int Source # enumFrom :: Int32 -> [Int32] Source # enumFromThen :: Int32 -> Int32 -> [Int32] Source # enumFromTo :: Int32 -> Int32 -> [Int32] Source # enumFromThenTo :: Int32 -> Int32 -> Int32 -> [Int32] Source #
Ix Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods range :: (Int32, Int32) -> [Int32] Source # index :: (Int32, Int32) -> Int32 -> Int Source # unsafeIndex :: (Int32, Int32) -> Int32 -> Int Source # inRange :: (Int32, Int32) -> Int32 -> Bool Source # rangeSize :: (Int32, Int32) -> Int Source # unsafeRangeSize :: (Int32, Int32) -> Int Source #
Num Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods (+) :: Int32 -> Int32 -> Int32 Source # (-) :: Int32 -> Int32 -> Int32 Source # (*) :: Int32 -> Int32 -> Int32 Source # negate :: Int32 -> Int32 Source # abs :: Int32 -> Int32 Source # signum :: Int32 -> Int32 Source # fromInteger :: Integer -> Int32 Source #
Read Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods readsPrec :: Int -> ReadS Int32 Source # readList :: ReadS [Int32] Source # readPrec :: ReadPrec Int32 Source # readListPrec :: ReadPrec [Int32] Source #
Integral Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods quot :: Int32 -> Int32 -> Int32 Source # rem :: Int32 -> Int32 -> Int32 Source # div :: Int32 -> Int32 -> Int32 Source # mod :: Int32 -> Int32 -> Int32 Source # quotRem :: Int32 -> Int32 -> (Int32, Int32) Source # divMod :: Int32 -> Int32 -> (Int32, Int32) Source # toInteger :: Int32 -> Integer Source #
Real Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods toRational :: Int32 -> Rational Source #
Show Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods showsPrec :: Int -> Int32 -> ShowS Source # show :: Int32 -> String Source # showList :: [Int32] -> ShowS Source #
PrintfArg Int32 | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Int32 -> FieldFormatter Source # parseFormat :: Int32 -> ModifierParser Source #
Binary Int32 |
Instance details Defined in Data.Binary.Class Methods put :: Int32 -> Put Source # get :: Get Int32 Source # putList :: [Int32] -> Put Source #
ToMarkup Int32 |
Instance details Defined in Text.Blaze Methods toMarkup :: Int32 -> Markup preEscapedToMarkup :: Int32 -> Markup
ToValue Int32 |
Instance details Defined in Text.Blaze Methods toValue :: Int32 -> AttributeValue preEscapedToValue :: Int32 -> AttributeValue
NFData Int32 |
Instance details Defined in Control.DeepSeq Methods rnf :: Int32 -> () Source #
IsValue Int32 Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: Int32 -> PrimValue Source #
IsPrimValue Int32 Source # |
Instance details Defined in Language.Futhark.Syntax Methods primValue :: Int32 -> PrimValue Source #
GetValue Int32 |
Instance details Defined in Futhark.Data Methods getValue :: Value -> Maybe Int32 Source #
PutValue Int32 |
Instance details Defined in Futhark.Data Methods putValue :: Int32 -> Maybe Value Source #
PutValue1 Int32 |
Instance details Defined in Futhark.Data Methods putValue1 :: Int32 -> Value Source #
Eq Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods (==) :: Int32 -> Int32 -> Bool Source # (/=) :: Int32 -> Int32 -> Bool Source #
Ord Int32 | Since: base-2.1
Instance details Defined in GHC.Int Methods compare :: Int32 -> Int32 -> Ordering Source # (<) :: Int32 -> Int32 -> Bool Source # (<=) :: Int32 -> Int32 -> Bool Source # (>) :: Int32 -> Int32 -> Bool Source # (>=) :: Int32 -> Int32 -> Bool Source # max :: Int32 -> Int32 -> Int32 Source # min :: Int32 -> Int32 -> Int32 Source #
Hashable Int32 |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Int32 -> Int hash :: Int32 -> Int
ToConst Int32 |
Instance details Defined in Language.C.Quote.Base Methods toConst :: Int32 -> SrcLoc -> Const Source #
ToExp Int32 |
Instance details Defined in Language.C.Quote.Base Methods toExp :: Int32 -> SrcLoc -> Exp Source #
Pretty Int32 |
Instance details Defined in Text.PrettyPrint.Mainland.Class Methods ppr :: Int32 -> Doc Source # pprPrec :: Int -> Int32 -> Doc Source # pprList :: [Int32] -> Doc Source #
Variate Int32 |
Instance details Defined in System.Random.MWC Methods uniform :: PrimMonad m => Gen (PrimState m) -> m Int32 Source # uniformR :: PrimMonad m => (Int32, Int32) -> Gen (PrimState m) -> m Int32 Source #
Pretty Int32 |
Instance details Defined in Prettyprinter.Internal Methods pretty :: Int32 -> Doc ann Source # prettyList :: [Int32] -> Doc ann Source #
Prim Int32 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int32 -> Int#

alignment# :: Int32 -> Int#

indexByteArray# :: ByteArray# -> Int# -> Int32

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int32 #)

writeByteArray# :: MutableByteArray# s -> Int# -> Int32 -> State# s -> State# s

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int32 -> State# s -> State# s

indexOffAddr# :: Addr# -> Int# -> Int32

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int32 #)

writeOffAddr# :: Addr# -> Int# -> Int32 -> State# s -> State# s

setOffAddr# :: Addr# -> Int# -> Int# -> Int32 -> State# s -> State# s

Random Int32 |
Instance details Defined in System.Random Methods randomR :: RandomGen g => (Int32, Int32) -> g -> (Int32, g) Source # random :: RandomGen g => g -> (Int32, g) Source # randomRs :: RandomGen g => (Int32, Int32) -> g -> [Int32] Source # randoms :: RandomGen g => g -> [Int32] Source #
Finite Int32 |
Instance details Defined in System.Random.GFinite Methods cardinality :: Proxy# Int32 -> Cardinality toFinite :: Integer -> Int32 fromFinite :: Int32 -> Integer
Uniform Int32 |
Instance details Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Int32 Source #
UniformRange Int32 |
Instance details Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Int32, Int32) -> g -> m Int32 Source #
Unbox Int32 |
Instance details Defined in Data.Vector.Unboxed.Base
IArray UArray Int32 |

Instance details

Defined in Data.Array.Base

Methods

bounds :: Ix i => UArray i Int32 -> (i, i) Source #

numElements :: Ix i => UArray i Int32 -> Int Source #

unsafeArray :: Ix i => (i, i) -> [(Int, Int32)] -> UArray i Int32 Source #

unsafeAt :: Ix i => UArray i Int32 -> Int -> Int32 Source #

unsafeReplace :: Ix i => UArray i Int32 -> [(Int, Int32)] -> UArray i Int32 Source #

unsafeAccum :: Ix i => (Int32 -> e' -> Int32) -> UArray i Int32 -> [(Int, e')] -> UArray i Int32 Source #

unsafeAccumArray :: Ix i => (Int32 -> e' -> Int32) -> Int32 -> (i, i) -> [(Int, e')] -> UArray i Int32 Source #

IntExp Int32 Source # |
Instance details Defined in Futhark.Analysis.PrimExp Methods expIntType :: TPrimExp Int32 v -> IntType Source #
NumExp Int32 Source # |
Instance details Defined in Futhark.Analysis.PrimExp Methods fromInteger' :: Integer -> TPrimExp Int32 v Source # fromBoolExp :: TPrimExp Bool v -> TPrimExp Int32 v Source #
MkTV Int32 Source # |
Instance details Defined in Futhark.CodeGen.ImpGen Methods mkTV :: VName -> TV Int32 Source # tvType :: TV Int32 -> PrimType Source #
Lift Int32 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Int32 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Int32 -> Code m Int32 Source #
Vector Vector Int32 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Int32 -> ST s (Vector Int32) Source #

basicUnsafeThaw :: Vector Int32 -> ST s (Mutable Vector s Int32) Source #

basicLength :: Vector Int32 -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector Int32 -> Vector Int32 Source #

basicUnsafeIndexM :: Vector Int32 -> Int -> Box Int32 Source #

basicUnsafeCopy :: Mutable Vector s Int32 -> Vector Int32 -> ST s () Source #

elemseq :: Vector Int32 -> Int32 -> b -> b Source #

MVector MVector Int32 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Int32 -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s Int32 -> MVector s Int32 Source #

basicOverlaps :: MVector s Int32 -> MVector s Int32 -> Bool Source #

basicUnsafeNew :: Int -> ST s (MVector s Int32) Source #

basicInitialize :: MVector s Int32 -> ST s () Source #

basicUnsafeReplicate :: Int -> Int32 -> ST s (MVector s Int32) Source #

basicUnsafeRead :: MVector s Int32 -> Int -> ST s Int32 Source #

basicUnsafeWrite :: MVector s Int32 -> Int -> Int32 -> ST s () Source #

basicClear :: MVector s Int32 -> ST s () Source #

basicSet :: MVector s Int32 -> Int32 -> ST s () Source #

basicUnsafeCopy :: MVector s Int32 -> MVector s Int32 -> ST s () Source #

basicUnsafeMove :: MVector s Int32 -> MVector s Int32 -> ST s () Source #

basicUnsafeGrow :: MVector s Int32 -> Int -> ST s (MVector s Int32) Source #

MArray (STUArray s) Int32 (ST s) |

Instance details

Defined in Data.Array.Base

Methods

getBounds :: Ix i => STUArray s i Int32 -> ST s (i, i) Source #

getNumElements :: Ix i => STUArray s i Int32 -> ST s Int Source #

newArray :: Ix i => (i, i) -> Int32 -> ST s (STUArray s i Int32) Source #

newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Int32) Source #

unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Int32) Source #

unsafeRead :: Ix i => STUArray s i Int32 -> Int -> ST s Int32 Source #

unsafeWrite :: Ix i => STUArray s i Int32 -> Int -> Int32 -> ST s () Source #

type Unsigned Int32 |
Instance details Defined in System.Random.MWC type Unsigned Int32 = Word32
newtype Vector Int32 |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector Int32 = V_Int32 (Vector Int32)
newtype MVector s Int32 |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s Int32 = MV_Int32 (MVector s Int32)

data Int64 Source #

64-bit signed integer type

#### Instances

Instances details

FromJSON Int64 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Int64 Source # parseJSONList :: Value -> Parser [Int64] Source #
FromJSONKey Int64 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Int64 Source # fromJSONKeyList :: FromJSONKeyFunction [Int64] Source #
ToJSON Int64 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Int64 -> Value Source # toEncoding :: Int64 -> Encoding Source # toJSONList :: [Int64] -> Value Source # toEncodingList :: [Int64] -> Encoding Source #
ToJSONKey Int64 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Int64 Source # toJSONKeyList :: ToJSONKeyFunction [Int64] Source #
Storable Int64 | Since: base-2.1

Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Int64 -> Int Source #

alignment :: Int64 -> Int Source #

peekElemOff :: Ptr Int64 -> Int -> IO Int64 Source #

pokeElemOff :: Ptr Int64 -> Int -> Int64 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Int64 Source #

pokeByteOff :: Ptr b -> Int -> Int64 -> IO () Source #

peek :: Ptr Int64 -> IO Int64 Source #

poke :: Ptr Int64 -> Int64 -> IO () Source #

Bits Int64 | Since: base-2.1

Instance details

Defined in GHC.Int

Methods

(.&.) :: Int64 -> Int64 -> Int64 Source #

(.|.) :: Int64 -> Int64 -> Int64 Source #

xor :: Int64 -> Int64 -> Int64 Source #

complement :: Int64 -> Int64 Source #

shift :: Int64 -> Int -> Int64 Source #

rotate :: Int64 -> Int -> Int64 Source #

zeroBits :: Int64 Source #

bit :: Int -> Int64 Source #

setBit :: Int64 -> Int -> Int64 Source #

clearBit :: Int64 -> Int -> Int64 Source #

complementBit :: Int64 -> Int -> Int64 Source #

testBit :: Int64 -> Int -> Bool Source #

bitSizeMaybe :: Int64 -> Maybe Int Source #

bitSize :: Int64 -> Int Source #

isSigned :: Int64 -> Bool Source #

shiftL :: Int64 -> Int -> Int64 Source #

unsafeShiftL :: Int64 -> Int -> Int64 Source #

shiftR :: Int64 -> Int -> Int64 Source #

unsafeShiftR :: Int64 -> Int -> Int64 Source #

rotateL :: Int64 -> Int -> Int64 Source #

rotateR :: Int64 -> Int -> Int64 Source #

popCount :: Int64 -> Int Source #

FiniteBits Int64 | Since: base-4.6.0.0
Instance details Defined in GHC.Int Methods finiteBitSize :: Int64 -> Int Source # countLeadingZeros :: Int64 -> Int Source # countTrailingZeros :: Int64 -> Int Source #
Bounded Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods minBound :: Int64 Source # maxBound :: Int64 Source #
Enum Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods succ :: Int64 -> Int64 Source # pred :: Int64 -> Int64 Source # toEnum :: Int -> Int64 Source # fromEnum :: Int64 -> Int Source # enumFrom :: Int64 -> [Int64] Source # enumFromThen :: Int64 -> Int64 -> [Int64] Source # enumFromTo :: Int64 -> Int64 -> [Int64] Source # enumFromThenTo :: Int64 -> Int64 -> Int64 -> [Int64] Source #
Ix Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods range :: (Int64, Int64) -> [Int64] Source # index :: (Int64, Int64) -> Int64 -> Int Source # unsafeIndex :: (Int64, Int64) -> Int64 -> Int Source # inRange :: (Int64, Int64) -> Int64 -> Bool Source # rangeSize :: (Int64, Int64) -> Int Source # unsafeRangeSize :: (Int64, Int64) -> Int Source #
Num Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods (+) :: Int64 -> Int64 -> Int64 Source # (-) :: Int64 -> Int64 -> Int64 Source # (*) :: Int64 -> Int64 -> Int64 Source # negate :: Int64 -> Int64 Source # abs :: Int64 -> Int64 Source # signum :: Int64 -> Int64 Source # fromInteger :: Integer -> Int64 Source #
Read Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods readsPrec :: Int -> ReadS Int64 Source # readList :: ReadS [Int64] Source # readPrec :: ReadPrec Int64 Source # readListPrec :: ReadPrec [Int64] Source #
Integral Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods quot :: Int64 -> Int64 -> Int64 Source # rem :: Int64 -> Int64 -> Int64 Source # div :: Int64 -> Int64 -> Int64 Source # mod :: Int64 -> Int64 -> Int64 Source # quotRem :: Int64 -> Int64 -> (Int64, Int64) Source # divMod :: Int64 -> Int64 -> (Int64, Int64) Source # toInteger :: Int64 -> Integer Source #
Real Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods toRational :: Int64 -> Rational Source #
Show Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods showsPrec :: Int -> Int64 -> ShowS Source # show :: Int64 -> String Source # showList :: [Int64] -> ShowS Source #
PrintfArg Int64 | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Int64 -> FieldFormatter Source # parseFormat :: Int64 -> ModifierParser Source #
Binary Int64 |
Instance details Defined in Data.Binary.Class Methods put :: Int64 -> Put Source # get :: Get Int64 Source # putList :: [Int64] -> Put Source #
ToMarkup Int64 |
Instance details Defined in Text.Blaze Methods toMarkup :: Int64 -> Markup preEscapedToMarkup :: Int64 -> Markup
ToValue Int64 |
Instance details Defined in Text.Blaze Methods toValue :: Int64 -> AttributeValue preEscapedToValue :: Int64 -> AttributeValue
NFData Int64 |
Instance details Defined in Control.DeepSeq Methods rnf :: Int64 -> () Source #
IsValue Int64 Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: Int64 -> PrimValue Source #
IsPrimValue Int64 Source # |
Instance details Defined in Language.Futhark.Syntax Methods primValue :: Int64 -> PrimValue Source #
GetValue Int64 |
Instance details Defined in Futhark.Data Methods getValue :: Value -> Maybe Int64 Source #
PutValue Int64 |
Instance details Defined in Futhark.Data Methods putValue :: Int64 -> Maybe Value Source #
PutValue1 Int64 |
Instance details Defined in Futhark.Data Methods putValue1 :: Int64 -> Value Source #
Eq Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods (==) :: Int64 -> Int64 -> Bool Source # (/=) :: Int64 -> Int64 -> Bool Source #
Ord Int64 | Since: base-2.1
Instance details Defined in GHC.Int Methods compare :: Int64 -> Int64 -> Ordering Source # (<) :: Int64 -> Int64 -> Bool Source # (<=) :: Int64 -> Int64 -> Bool Source # (>) :: Int64 -> Int64 -> Bool Source # (>=) :: Int64 -> Int64 -> Bool Source # max :: Int64 -> Int64 -> Int64 Source # min :: Int64 -> Int64 -> Int64 Source #
Hashable Int64 |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Int64 -> Int hash :: Int64 -> Int
ToConst Int64 |
Instance details Defined in Language.C.Quote.Base Methods toConst :: Int64 -> SrcLoc -> Const Source #
ToExp Int64 |
Instance details Defined in Language.C.Quote.Base Methods toExp :: Int64 -> SrcLoc -> Exp Source #
Pretty Int64 |
Instance details Defined in Text.PrettyPrint.Mainland.Class Methods ppr :: Int64 -> Doc Source # pprPrec :: Int -> Int64 -> Doc Source # pprList :: [Int64] -> Doc Source #
Variate Int64 |
Instance details Defined in System.Random.MWC Methods uniform :: PrimMonad m => Gen (PrimState m) -> m Int64 Source # uniformR :: PrimMonad m => (Int64, Int64) -> Gen (PrimState m) -> m Int64 Source #
Pretty Int64 |
Instance details Defined in Prettyprinter.Internal Methods pretty :: Int64 -> Doc ann Source # prettyList :: [Int64] -> Doc ann Source #
Prim Int64 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Int64 -> Int#

alignment# :: Int64 -> Int#

indexByteArray# :: ByteArray# -> Int# -> Int64

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Int64 #)

writeByteArray# :: MutableByteArray# s -> Int# -> Int64 -> State# s -> State# s

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Int64 -> State# s -> State# s

indexOffAddr# :: Addr# -> Int# -> Int64

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Int64 #)

writeOffAddr# :: Addr# -> Int# -> Int64 -> State# s -> State# s

setOffAddr# :: Addr# -> Int# -> Int# -> Int64 -> State# s -> State# s

Random Int64 |
Instance details Defined in System.Random Methods randomR :: RandomGen g => (Int64, Int64) -> g -> (Int64, g) Source # random :: RandomGen g => g -> (Int64, g) Source # randomRs :: RandomGen g => (Int64, Int64) -> g -> [Int64] Source # randoms :: RandomGen g => g -> [Int64] Source #
Finite Int64 |
Instance details Defined in System.Random.GFinite Methods cardinality :: Proxy# Int64 -> Cardinality toFinite :: Integer -> Int64 fromFinite :: Int64 -> Integer
Uniform Int64 |
Instance details Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Int64 Source #
UniformRange Int64 |
Instance details Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Int64, Int64) -> g -> m Int64 Source #
Unbox Int64 |
Instance details Defined in Data.Vector.Unboxed.Base
IArray UArray Int64 |

Instance details

Defined in Data.Array.Base

Methods

bounds :: Ix i => UArray i Int64 -> (i, i) Source #

numElements :: Ix i => UArray i Int64 -> Int Source #

unsafeArray :: Ix i => (i, i) -> [(Int, Int64)] -> UArray i Int64 Source #

unsafeAt :: Ix i => UArray i Int64 -> Int -> Int64 Source #

unsafeReplace :: Ix i => UArray i Int64 -> [(Int, Int64)] -> UArray i Int64 Source #

unsafeAccum :: Ix i => (Int64 -> e' -> Int64) -> UArray i Int64 -> [(Int, e')] -> UArray i Int64 Source #

unsafeAccumArray :: Ix i => (Int64 -> e' -> Int64) -> Int64 -> (i, i) -> [(Int, e')] -> UArray i Int64 Source #

IntExp Int64 Source # |
Instance details Defined in Futhark.Analysis.PrimExp Methods expIntType :: TPrimExp Int64 v -> IntType Source #
NumExp Int64 Source # |
Instance details Defined in Futhark.Analysis.PrimExp Methods fromInteger' :: Integer -> TPrimExp Int64 v Source # fromBoolExp :: TPrimExp Bool v -> TPrimExp Int64 v Source #
MkTV Int64 Source # |
Instance details Defined in Futhark.CodeGen.ImpGen Methods mkTV :: VName -> TV Int64 Source # tvType :: TV Int64 -> PrimType Source #
Lift Int64 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Int64 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Int64 -> Code m Int64 Source #
Vector Vector Int64 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Int64 -> ST s (Vector Int64) Source #

basicUnsafeThaw :: Vector Int64 -> ST s (Mutable Vector s Int64) Source #

basicLength :: Vector Int64 -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector Int64 -> Vector Int64 Source #

basicUnsafeIndexM :: Vector Int64 -> Int -> Box Int64 Source #

basicUnsafeCopy :: Mutable Vector s Int64 -> Vector Int64 -> ST s () Source #

elemseq :: Vector Int64 -> Int64 -> b -> b Source #

MVector MVector Int64 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Int64 -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s Int64 -> MVector s Int64 Source #

basicOverlaps :: MVector s Int64 -> MVector s Int64 -> Bool Source #

basicUnsafeNew :: Int -> ST s (MVector s Int64) Source #

basicInitialize :: MVector s Int64 -> ST s () Source #

basicUnsafeReplicate :: Int -> Int64 -> ST s (MVector s Int64) Source #

basicUnsafeRead :: MVector s Int64 -> Int -> ST s Int64 Source #

basicUnsafeWrite :: MVector s Int64 -> Int -> Int64 -> ST s () Source #

basicClear :: MVector s Int64 -> ST s () Source #

basicSet :: MVector s Int64 -> Int64 -> ST s () Source #

basicUnsafeCopy :: MVector s Int64 -> MVector s Int64 -> ST s () Source #

basicUnsafeMove :: MVector s Int64 -> MVector s Int64 -> ST s () Source #

basicUnsafeGrow :: MVector s Int64 -> Int -> ST s (MVector s Int64) Source #

Pretty (Shape Int64) Source # |
Instance details Defined in Language.Futhark.Pretty Methods pretty :: Shape Int64 -> Doc ann Source # prettyList :: [Shape Int64] -> Doc ann Source #
MArray (STUArray s) Int64 (ST s) |

Instance details

Defined in Data.Array.Base

Methods

getBounds :: Ix i => STUArray s i Int64 -> ST s (i, i) Source #

getNumElements :: Ix i => STUArray s i Int64 -> ST s Int Source #

newArray :: Ix i => (i, i) -> Int64 -> ST s (STUArray s i Int64) Source #

newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Int64) Source #

unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Int64) Source #

unsafeRead :: Ix i => STUArray s i Int64 -> Int -> ST s Int64 Source #

unsafeWrite :: Ix i => STUArray s i Int64 -> Int -> Int64 -> ST s () Source #

type Unsigned Int64 |
Instance details Defined in System.Random.MWC type Unsigned Int64 = Word64
newtype Vector Int64 |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector Int64 = V_Int64 (Vector Int64)
newtype MVector s Int64 |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s Int64 = MV_Int64 (MVector s Int64)

data Word8 Source #

8-bit unsigned integer type

#### Instances

Instances details

FromJSON Word8 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Word8 Source # parseJSONList :: Value -> Parser [Word8] Source #
FromJSONKey Word8 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Word8 Source # fromJSONKeyList :: FromJSONKeyFunction [Word8] Source #
ToJSON Word8 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Word8 -> Value Source # toEncoding :: Word8 -> Encoding Source # toJSONList :: [Word8] -> Value Source # toEncodingList :: [Word8] -> Encoding Source #
ToJSONKey Word8 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Word8 Source # toJSONKeyList :: ToJSONKeyFunction [Word8] Source #
Storable Word8 | Since: base-2.1

Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Word8 -> Int Source #

alignment :: Word8 -> Int Source #

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

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

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

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

peek :: Ptr Word8 -> IO Word8 Source #

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

Bits Word8 | Since: base-2.1

Instance details

Defined in GHC.Word

Methods

(.&.) :: Word8 -> Word8 -> Word8 Source #

(.|.) :: Word8 -> Word8 -> Word8 Source #

xor :: Word8 -> Word8 -> Word8 Source #

complement :: Word8 -> Word8 Source #

shift :: Word8 -> Int -> Word8 Source #

rotate :: Word8 -> Int -> Word8 Source #

zeroBits :: Word8 Source #

bit :: Int -> Word8 Source #

setBit :: Word8 -> Int -> Word8 Source #

clearBit :: Word8 -> Int -> Word8 Source #

complementBit :: Word8 -> Int -> Word8 Source #

testBit :: Word8 -> Int -> Bool Source #

bitSizeMaybe :: Word8 -> Maybe Int Source #

bitSize :: Word8 -> Int Source #

isSigned :: Word8 -> Bool Source #

shiftL :: Word8 -> Int -> Word8 Source #

unsafeShiftL :: Word8 -> Int -> Word8 Source #

shiftR :: Word8 -> Int -> Word8 Source #

unsafeShiftR :: Word8 -> Int -> Word8 Source #

rotateL :: Word8 -> Int -> Word8 Source #

rotateR :: Word8 -> Int -> Word8 Source #

popCount :: Word8 -> Int Source #

FiniteBits Word8 | Since: base-4.6.0.0
Instance details Defined in GHC.Word Methods finiteBitSize :: Word8 -> Int Source # countLeadingZeros :: Word8 -> Int Source # countTrailingZeros :: Word8 -> Int Source #
Bounded Word8 | Since: base-2.1
Instance details Defined in GHC.Word Methods minBound :: Word8 Source # maxBound :: Word8 Source #
Enum Word8 | Since: base-2.1
Instance details Defined in GHC.Word Methods succ :: Word8 -> Word8 Source # pred :: Word8 -> Word8 Source # toEnum :: Int -> Word8 Source # fromEnum :: Word8 -> Int Source # enumFrom :: Word8 -> [Word8] Source # enumFromThen :: Word8 -> Word8 -> [Word8] Source # enumFromTo :: Word8 -> Word8 -> [Word8] Source # enumFromThenTo :: Word8 -> Word8 -> Word8 -> [Word8] Source #
Ix Word8 | Since: base-2.1
Instance details Defined in GHC.Word Methods range :: (Word8, Word8) -> [Word8] Source # index :: (Word8, Word8) -> Word8 -> Int Source # unsafeIndex :: (Word8, Word8) -> Word8 -> Int Source # inRange :: (Word8, Word8) -> Word8 -> Bool Source # rangeSize :: (Word8, Word8) -> Int Source # unsafeRangeSize :: (Word8, Word8) -> Int Source #
Num Word8 | Since: base-2.1
Instance details Defined in GHC.Word Methods (+) :: Word8 -> Word8 -> Word8 Source # (-) :: Word8 -> Word8 -> Word8 Source # (*) :: Word8 -> Word8 -> Word8 Source # negate :: Word8 -> Word8 Source # abs :: Word8 -> Word8 Source # signum :: Word8 -> Word8 Source # fromInteger :: Integer -> Word8 Source #
Read Word8 | Since: base-2.1
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Word8 Source # readList :: ReadS [Word8] Source # readPrec :: ReadPrec Word8 Source # readListPrec :: ReadPrec [Word8] Source #
Integral Word8 | Since: base-2.1
Instance details Defined in GHC.Word Methods quot :: Word8 -> Word8 -> Word8 Source # rem :: Word8 -> Word8 -> Word8 Source # div :: Word8 -> Word8 -> Word8 Source # mod :: Word8 -> Word8 -> Word8 Source # quotRem :: Word8 -> Word8 -> (Word8, Word8) Source # divMod :: Word8 -> Word8 -> (Word8, Word8) Source # toInteger :: Word8 -> Integer Source #
Real Word8 | Since: base-2.1
Instance details Defined in GHC.Word Methods toRational :: Word8 -> Rational Source #
Show Word8 | Since: base-2.1
Instance details Defined in GHC.Word Methods showsPrec :: Int -> Word8 -> ShowS Source # show :: Word8 -> String Source # showList :: [Word8] -> ShowS Source #
PrintfArg Word8 | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Word8 -> FieldFormatter Source # parseFormat :: Word8 -> ModifierParser Source #
Binary Word8 |
Instance details Defined in Data.Binary.Class Methods put :: Word8 -> Put Source # get :: Get Word8 Source # putList :: [Word8] -> Put Source #
NFData Word8 |
Instance details Defined in Control.DeepSeq Methods rnf :: Word8 -> () Source #
IsValue Word8 Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: Word8 -> PrimValue Source #
IsPrimValue Word8 Source # |
Instance details Defined in Language.Futhark.Syntax Methods primValue :: Word8 -> PrimValue Source #
GetValue Word8 |
Instance details Defined in Futhark.Data Methods getValue :: Value -> Maybe Word8 Source #
PutValue Word8 |
Instance details Defined in Futhark.Data Methods putValue :: Word8 -> Maybe Value Source #
PutValue1 Word8 |
Instance details Defined in Futhark.Data Methods putValue1 :: Word8 -> Value Source #
Eq Word8 | Since: base-2.1
Instance details Defined in GHC.Word Methods (==) :: Word8 -> Word8 -> Bool Source # (/=) :: Word8 -> Word8 -> Bool Source #
Ord Word8 | Since: base-2.1
Instance details Defined in GHC.Word Methods compare :: Word8 -> Word8 -> Ordering Source # (<) :: Word8 -> Word8 -> Bool Source # (<=) :: Word8 -> Word8 -> Bool Source # (>) :: Word8 -> Word8 -> Bool Source # (>=) :: Word8 -> Word8 -> Bool Source # max :: Word8 -> Word8 -> Word8 Source # min :: Word8 -> Word8 -> Word8 Source #
Hashable Word8 |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Word8 -> Int hash :: Word8 -> Int
ToConst Word8 |
Instance details Defined in Language.C.Quote.Base Methods toConst :: Word8 -> SrcLoc -> Const Source #
ToExp Word8 |
Instance details Defined in Language.C.Quote.Base Methods toExp :: Word8 -> SrcLoc -> Exp Source #
Pretty Word8 |
Instance details Defined in Text.PrettyPrint.Mainland.Class Methods ppr :: Word8 -> Doc Source # pprPrec :: Int -> Word8 -> Doc Source # pprList :: [Word8] -> Doc Source #
Variate Word8 |
Instance details Defined in System.Random.MWC Methods uniform :: PrimMonad m => Gen (PrimState m) -> m Word8 Source # uniformR :: PrimMonad m => (Word8, Word8) -> Gen (PrimState m) -> m Word8 Source #
Pretty Word8 |
Instance details Defined in Prettyprinter.Internal Methods pretty :: Word8 -> Doc ann Source # prettyList :: [Word8] -> Doc ann Source #
Prim Word8 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word8 -> Int#

alignment# :: Word8 -> Int#

indexByteArray# :: ByteArray# -> Int# -> Word8

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word8 #)

writeByteArray# :: MutableByteArray# s -> Int# -> Word8 -> State# s -> State# s

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word8 -> State# s -> State# s

indexOffAddr# :: Addr# -> Int# -> Word8

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word8 #)

writeOffAddr# :: Addr# -> Int# -> Word8 -> State# s -> State# s

setOffAddr# :: Addr# -> Int# -> Int# -> Word8 -> State# s -> State# s

Random Word8 |
Instance details Defined in System.Random Methods randomR :: RandomGen g => (Word8, Word8) -> g -> (Word8, g) Source # random :: RandomGen g => g -> (Word8, g) Source # randomRs :: RandomGen g => (Word8, Word8) -> g -> [Word8] Source # randoms :: RandomGen g => g -> [Word8] Source #
Finite Word8 |
Instance details Defined in System.Random.GFinite Methods cardinality :: Proxy# Word8 -> Cardinality toFinite :: Integer -> Word8 fromFinite :: Word8 -> Integer
Uniform Word8 |
Instance details Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Word8 Source #
UniformRange Word8 |
Instance details Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Word8, Word8) -> g -> m Word8 Source #
ByteSource Word8 |
Instance details Defined in Data.UUID.Types.Internal.Builder Methods (/-/) :: ByteSink Word8 g -> Word8 -> g
Unbox Word8 |
Instance details Defined in Data.Vector.Unboxed.Base
IArray UArray Word8 |

Instance details

Defined in Data.Array.Base

Methods

bounds :: Ix i => UArray i Word8 -> (i, i) Source #

numElements :: Ix i => UArray i Word8 -> Int Source #

unsafeArray :: Ix i => (i, i) -> [(Int, Word8)] -> UArray i Word8 Source #

unsafeAt :: Ix i => UArray i Word8 -> Int -> Word8 Source #

unsafeReplace :: Ix i => UArray i Word8 -> [(Int, Word8)] -> UArray i Word8 Source #

unsafeAccum :: Ix i => (Word8 -> e' -> Word8) -> UArray i Word8 -> [(Int, e')] -> UArray i Word8 Source #

unsafeAccumArray :: Ix i => (Word8 -> e' -> Word8) -> Word8 -> (i, i) -> [(Int, e')] -> UArray i Word8 Source #

Lift Word8 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Word8 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Word8 -> Code m Word8 Source #
Vector Vector Word8 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Word8 -> ST s (Vector Word8) Source #

basicUnsafeThaw :: Vector Word8 -> ST s (Mutable Vector s Word8) Source #

basicLength :: Vector Word8 -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector Word8 -> Vector Word8 Source #

basicUnsafeIndexM :: Vector Word8 -> Int -> Box Word8 Source #

basicUnsafeCopy :: Mutable Vector s Word8 -> Vector Word8 -> ST s () Source #

elemseq :: Vector Word8 -> Word8 -> b -> b Source #

MVector MVector Word8 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Word8 -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s Word8 -> MVector s Word8 Source #

basicOverlaps :: MVector s Word8 -> MVector s Word8 -> Bool Source #

basicUnsafeNew :: Int -> ST s (MVector s Word8) Source #

basicInitialize :: MVector s Word8 -> ST s () Source #

basicUnsafeReplicate :: Int -> Word8 -> ST s (MVector s Word8) Source #

basicUnsafeRead :: MVector s Word8 -> Int -> ST s Word8 Source #

basicUnsafeWrite :: MVector s Word8 -> Int -> Word8 -> ST s () Source #

basicClear :: MVector s Word8 -> ST s () Source #

basicSet :: MVector s Word8 -> Word8 -> ST s () Source #

basicUnsafeCopy :: MVector s Word8 -> MVector s Word8 -> ST s () Source #

basicUnsafeMove :: MVector s Word8 -> MVector s Word8 -> ST s () Source #

basicUnsafeGrow :: MVector s Word8 -> Int -> ST s (MVector s Word8) Source #

MArray (STUArray s) Word8 (ST s) |

Instance details

Defined in Data.Array.Base

Methods

getBounds :: Ix i => STUArray s i Word8 -> ST s (i, i) Source #

getNumElements :: Ix i => STUArray s i Word8 -> ST s Int Source #

newArray :: Ix i => (i, i) -> Word8 -> ST s (STUArray s i Word8) Source #

newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Word8) Source #

unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Word8) Source #

unsafeRead :: Ix i => STUArray s i Word8 -> Int -> ST s Word8 Source #

unsafeWrite :: Ix i => STUArray s i Word8 -> Int -> Word8 -> ST s () Source #

type Unsigned Word8 |
Instance details Defined in System.Random.MWC type Unsigned Word8 = Word8
newtype Vector Word8 |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector Word8 = V_Word8 (Vector Word8)
type ByteSink Word8 g |
Instance details Defined in Data.UUID.Types.Internal.Builder type ByteSink Word8 g = Takes1Byte g
newtype MVector s Word8 |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s Word8 = MV_Word8 (MVector s Word8)

data Word64 Source #

64-bit unsigned integer type

#### Instances

Instances details

FromJSON Word64 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Word64 Source # parseJSONList :: Value -> Parser [Word64] Source #
FromJSONKey Word64 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Word64 Source # fromJSONKeyList :: FromJSONKeyFunction [Word64] Source #
ToJSON Word64 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Word64 -> Value Source # toEncoding :: Word64 -> Encoding Source # toJSONList :: [Word64] -> Value Source # toEncodingList :: [Word64] -> Encoding Source #
ToJSONKey Word64 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Word64 Source # toJSONKeyList :: ToJSONKeyFunction [Word64] Source #
Storable Word64 | Since: base-2.1

Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Word64 -> Int Source #

alignment :: Word64 -> Int Source #

peekElemOff :: Ptr Word64 -> Int -> IO Word64 Source #

pokeElemOff :: Ptr Word64 -> Int -> Word64 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Word64 Source #

pokeByteOff :: Ptr b -> Int -> Word64 -> IO () Source #

peek :: Ptr Word64 -> IO Word64 Source #

poke :: Ptr Word64 -> Word64 -> IO () Source #

Bits Word64 | Since: base-2.1

Instance details

Defined in GHC.Word

Methods

(.&.) :: Word64 -> Word64 -> Word64 Source #

(.|.) :: Word64 -> Word64 -> Word64 Source #

xor :: Word64 -> Word64 -> Word64 Source #

complement :: Word64 -> Word64 Source #

shift :: Word64 -> Int -> Word64 Source #

rotate :: Word64 -> Int -> Word64 Source #

zeroBits :: Word64 Source #

bit :: Int -> Word64 Source #

setBit :: Word64 -> Int -> Word64 Source #

clearBit :: Word64 -> Int -> Word64 Source #

complementBit :: Word64 -> Int -> Word64 Source #

testBit :: Word64 -> Int -> Bool Source #

bitSizeMaybe :: Word64 -> Maybe Int Source #

bitSize :: Word64 -> Int Source #

isSigned :: Word64 -> Bool Source #

shiftL :: Word64 -> Int -> Word64 Source #

unsafeShiftL :: Word64 -> Int -> Word64 Source #

shiftR :: Word64 -> Int -> Word64 Source #

unsafeShiftR :: Word64 -> Int -> Word64 Source #

rotateL :: Word64 -> Int -> Word64 Source #

rotateR :: Word64 -> Int -> Word64 Source #

popCount :: Word64 -> Int Source #

FiniteBits Word64 | Since: base-4.6.0.0
Instance details Defined in GHC.Word Methods finiteBitSize :: Word64 -> Int Source # countLeadingZeros :: Word64 -> Int Source # countTrailingZeros :: Word64 -> Int Source #
Bounded Word64 | Since: base-2.1
Instance details Defined in GHC.Word Methods minBound :: Word64 Source # maxBound :: Word64 Source #
Enum Word64 | Since: base-2.1
Instance details Defined in GHC.Word Methods succ :: Word64 -> Word64 Source # pred :: Word64 -> Word64 Source # toEnum :: Int -> Word64 Source # fromEnum :: Word64 -> Int Source # enumFrom :: Word64 -> [Word64] Source # enumFromThen :: Word64 -> Word64 -> [Word64] Source # enumFromTo :: Word64 -> Word64 -> [Word64] Source # enumFromThenTo :: Word64 -> Word64 -> Word64 -> [Word64] Source #
Ix Word64 | Since: base-2.1
Instance details Defined in GHC.Word Methods range :: (Word64, Word64) -> [Word64] Source # index :: (Word64, Word64) -> Word64 -> Int Source # unsafeIndex :: (Word64, Word64) -> Word64 -> Int Source # inRange :: (Word64, Word64) -> Word64 -> Bool Source # rangeSize :: (Word64, Word64) -> Int Source # unsafeRangeSize :: (Word64, Word64) -> Int Source #
Num Word64 | Since: base-2.1
Instance details Defined in GHC.Word Methods (+) :: Word64 -> Word64 -> Word64 Source # (-) :: Word64 -> Word64 -> Word64 Source # (*) :: Word64 -> Word64 -> Word64 Source # negate :: Word64 -> Word64 Source # abs :: Word64 -> Word64 Source # signum :: Word64 -> Word64 Source # fromInteger :: Integer -> Word64 Source #
Read Word64 | Since: base-2.1
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Word64 Source # readList :: ReadS [Word64] Source # readPrec :: ReadPrec Word64 Source # readListPrec :: ReadPrec [Word64] Source #
Integral Word64 | Since: base-2.1
Instance details Defined in GHC.Word Methods quot :: Word64 -> Word64 -> Word64 Source # rem :: Word64 -> Word64 -> Word64 Source # div :: Word64 -> Word64 -> Word64 Source # mod :: Word64 -> Word64 -> Word64 Source # quotRem :: Word64 -> Word64 -> (Word64, Word64) Source # divMod :: Word64 -> Word64 -> (Word64, Word64) Source # toInteger :: Word64 -> Integer Source #
Real Word64 | Since: base-2.1
Instance details Defined in GHC.Word Methods toRational :: Word64 -> Rational Source #
Show Word64 | Since: base-2.1
Instance details Defined in GHC.Word Methods showsPrec :: Int -> Word64 -> ShowS Source # show :: Word64 -> String Source # showList :: [Word64] -> ShowS Source #
PrintfArg Word64 | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Word64 -> FieldFormatter Source # parseFormat :: Word64 -> ModifierParser Source #
Binary Word64 |
Instance details Defined in Data.Binary.Class Methods put :: Word64 -> Put Source # get :: Get Word64 Source # putList :: [Word64] -> Put Source #
ToMarkup Word64 |
Instance details Defined in Text.Blaze Methods toMarkup :: Word64 -> Markup preEscapedToMarkup :: Word64 -> Markup
ToValue Word64 |
Instance details Defined in Text.Blaze Methods toValue :: Word64 -> AttributeValue preEscapedToValue :: Word64 -> AttributeValue
NFData Word64 |
Instance details Defined in Control.DeepSeq Methods rnf :: Word64 -> () Source #
IsValue Word64 Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: Word64 -> PrimValue Source #
IsPrimValue Word64 Source # |
Instance details Defined in Language.Futhark.Syntax Methods primValue :: Word64 -> PrimValue Source #
GetValue Word64 |
Instance details Defined in Futhark.Data Methods getValue :: Value -> Maybe Word64 Source #
PutValue Word64 |
Instance details Defined in Futhark.Data Methods putValue :: Word64 -> Maybe Value Source #
PutValue1 Word64 |
Instance details Defined in Futhark.Data Methods putValue1 :: Word64 -> Value Source #
Eq Word64 | Since: base-2.1
Instance details Defined in GHC.Word Methods (==) :: Word64 -> Word64 -> Bool Source # (/=) :: Word64 -> Word64 -> Bool Source #
Ord Word64 | Since: base-2.1
Instance details Defined in GHC.Word Methods compare :: Word64 -> Word64 -> Ordering Source # (<) :: Word64 -> Word64 -> Bool Source # (<=) :: Word64 -> Word64 -> Bool Source # (>) :: Word64 -> Word64 -> Bool Source # (>=) :: Word64 -> Word64 -> Bool Source # max :: Word64 -> Word64 -> Word64 Source # min :: Word64 -> Word64 -> Word64 Source #
Hashable Word64 |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Word64 -> Int hash :: Word64 -> Int
ToConst Word64 |
Instance details Defined in Language.C.Quote.Base Methods toConst :: Word64 -> SrcLoc -> Const Source #
ToExp Word64 |
Instance details Defined in Language.C.Quote.Base Methods toExp :: Word64 -> SrcLoc -> Exp Source #
Pretty Word64 |
Instance details Defined in Text.PrettyPrint.Mainland.Class Methods ppr :: Word64 -> Doc Source # pprPrec :: Int -> Word64 -> Doc Source # pprList :: [Word64] -> Doc Source #
Variate Word64 |
Instance details Defined in System.Random.MWC Methods uniform :: PrimMonad m => Gen (PrimState m) -> m Word64 Source # uniformR :: PrimMonad m => (Word64, Word64) -> Gen (PrimState m) -> m Word64 Source #
Pretty Word64 |
Instance details Defined in Prettyprinter.Internal Methods pretty :: Word64 -> Doc ann Source # prettyList :: [Word64] -> Doc ann Source #
Prim Word64 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word64 -> Int#

alignment# :: Word64 -> Int#

indexByteArray# :: ByteArray# -> Int# -> Word64

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word64 #)

writeByteArray# :: MutableByteArray# s -> Int# -> Word64 -> State# s -> State# s

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word64 -> State# s -> State# s

indexOffAddr# :: Addr# -> Int# -> Word64

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word64 #)

writeOffAddr# :: Addr# -> Int# -> Word64 -> State# s -> State# s

setOffAddr# :: Addr# -> Int# -> Int# -> Word64 -> State# s -> State# s

Random Word64 |
Instance details Defined in System.Random Methods randomR :: RandomGen g => (Word64, Word64) -> g -> (Word64, g) Source # random :: RandomGen g => g -> (Word64, g) Source # randomRs :: RandomGen g => (Word64, Word64) -> g -> [Word64] Source # randoms :: RandomGen g => g -> [Word64] Source #
Finite Word64 |
Instance details Defined in System.Random.GFinite Methods cardinality :: Proxy# Word64 -> Cardinality toFinite :: Integer -> Word64 fromFinite :: Word64 -> Integer
Uniform Word64 |
Instance details Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Word64 Source #
UniformRange Word64 |
Instance details Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Word64, Word64) -> g -> m Word64 Source #
ByteSource Word64 |
Instance details Defined in Data.UUID.Types.Internal.Builder Methods (/-/) :: ByteSink Word64 g -> Word64 -> g
Unbox Word64 |
Instance details Defined in Data.Vector.Unboxed.Base
IArray UArray Word64 |

Instance details

Defined in Data.Array.Base

Methods

bounds :: Ix i => UArray i Word64 -> (i, i) Source #

numElements :: Ix i => UArray i Word64 -> Int Source #

unsafeArray :: Ix i => (i, i) -> [(Int, Word64)] -> UArray i Word64 Source #

unsafeAt :: Ix i => UArray i Word64 -> Int -> Word64 Source #

unsafeReplace :: Ix i => UArray i Word64 -> [(Int, Word64)] -> UArray i Word64 Source #

unsafeAccum :: Ix i => (Word64 -> e' -> Word64) -> UArray i Word64 -> [(Int, e')] -> UArray i Word64 Source #

unsafeAccumArray :: Ix i => (Word64 -> e' -> Word64) -> Word64 -> (i, i) -> [(Int, e')] -> UArray i Word64 Source #

Lift Word64 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Word64 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Word64 -> Code m Word64 Source #
Vector Vector Word64 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Word64 -> ST s (Vector Word64) Source #

basicUnsafeThaw :: Vector Word64 -> ST s (Mutable Vector s Word64) Source #

basicLength :: Vector Word64 -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector Word64 -> Vector Word64 Source #

basicUnsafeIndexM :: Vector Word64 -> Int -> Box Word64 Source #

basicUnsafeCopy :: Mutable Vector s Word64 -> Vector Word64 -> ST s () Source #

elemseq :: Vector Word64 -> Word64 -> b -> b Source #

MVector MVector Word64 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Word64 -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s Word64 -> MVector s Word64 Source #

basicOverlaps :: MVector s Word64 -> MVector s Word64 -> Bool Source #

basicUnsafeNew :: Int -> ST s (MVector s Word64) Source #

basicInitialize :: MVector s Word64 -> ST s () Source #

basicUnsafeReplicate :: Int -> Word64 -> ST s (MVector s Word64) Source #

basicUnsafeRead :: MVector s Word64 -> Int -> ST s Word64 Source #

basicUnsafeWrite :: MVector s Word64 -> Int -> Word64 -> ST s () Source #

basicClear :: MVector s Word64 -> ST s () Source #

basicSet :: MVector s Word64 -> Word64 -> ST s () Source #

basicUnsafeCopy :: MVector s Word64 -> MVector s Word64 -> ST s () Source #

basicUnsafeMove :: MVector s Word64 -> MVector s Word64 -> ST s () Source #

basicUnsafeGrow :: MVector s Word64 -> Int -> ST s (MVector s Word64) Source #

MArray (STUArray s) Word64 (ST s) |

Instance details

Defined in Data.Array.Base

Methods

getBounds :: Ix i => STUArray s i Word64 -> ST s (i, i) Source #

getNumElements :: Ix i => STUArray s i Word64 -> ST s Int Source #

newArray :: Ix i => (i, i) -> Word64 -> ST s (STUArray s i Word64) Source #

newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Word64) Source #

unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Word64) Source #

unsafeRead :: Ix i => STUArray s i Word64 -> Int -> ST s Word64 Source #

unsafeWrite :: Ix i => STUArray s i Word64 -> Int -> Word64 -> ST s () Source #

type Unsigned Word64 |
Instance details Defined in System.Random.MWC type Unsigned Word64 = Word64
newtype Vector Word64 |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector Word64 = V_Word64 (Vector Word64)
type ByteSink Word64 g |
Instance details Defined in Data.UUID.Types.Internal.Builder type ByteSink Word64 g = Takes8Bytes g
newtype MVector s Word64 |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s Word64 = MV_Word64 (MVector s Word64)

data Word32 Source #

32-bit unsigned integer type

#### Instances

Instances details

FromJSON Word32 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Word32 Source # parseJSONList :: Value -> Parser [Word32] Source #
FromJSONKey Word32 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Word32 Source # fromJSONKeyList :: FromJSONKeyFunction [Word32] Source #
ToJSON Word32 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Word32 -> Value Source # toEncoding :: Word32 -> Encoding Source # toJSONList :: [Word32] -> Value Source # toEncodingList :: [Word32] -> Encoding Source #
ToJSONKey Word32 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Word32 Source # toJSONKeyList :: ToJSONKeyFunction [Word32] Source #
Storable Word32 | Since: base-2.1

Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Word32 -> Int Source #

alignment :: Word32 -> Int Source #

peekElemOff :: Ptr Word32 -> Int -> IO Word32 Source #

pokeElemOff :: Ptr Word32 -> Int -> Word32 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Word32 Source #

pokeByteOff :: Ptr b -> Int -> Word32 -> IO () Source #

peek :: Ptr Word32 -> IO Word32 Source #

poke :: Ptr Word32 -> Word32 -> IO () Source #

Bits Word32 | Since: base-2.1

Instance details

Defined in GHC.Word

Methods

(.&.) :: Word32 -> Word32 -> Word32 Source #

(.|.) :: Word32 -> Word32 -> Word32 Source #

xor :: Word32 -> Word32 -> Word32 Source #

complement :: Word32 -> Word32 Source #

shift :: Word32 -> Int -> Word32 Source #

rotate :: Word32 -> Int -> Word32 Source #

zeroBits :: Word32 Source #

bit :: Int -> Word32 Source #

setBit :: Word32 -> Int -> Word32 Source #

clearBit :: Word32 -> Int -> Word32 Source #

complementBit :: Word32 -> Int -> Word32 Source #

testBit :: Word32 -> Int -> Bool Source #

bitSizeMaybe :: Word32 -> Maybe Int Source #

bitSize :: Word32 -> Int Source #

isSigned :: Word32 -> Bool Source #

shiftL :: Word32 -> Int -> Word32 Source #

unsafeShiftL :: Word32 -> Int -> Word32 Source #

shiftR :: Word32 -> Int -> Word32 Source #

unsafeShiftR :: Word32 -> Int -> Word32 Source #

rotateL :: Word32 -> Int -> Word32 Source #

rotateR :: Word32 -> Int -> Word32 Source #

popCount :: Word32 -> Int Source #

FiniteBits Word32 | Since: base-4.6.0.0
Instance details Defined in GHC.Word Methods finiteBitSize :: Word32 -> Int Source # countLeadingZeros :: Word32 -> Int Source # countTrailingZeros :: Word32 -> Int Source #
Bounded Word32 | Since: base-2.1
Instance details Defined in GHC.Word Methods minBound :: Word32 Source # maxBound :: Word32 Source #
Enum Word32 | Since: base-2.1
Instance details Defined in GHC.Word Methods succ :: Word32 -> Word32 Source # pred :: Word32 -> Word32 Source # toEnum :: Int -> Word32 Source # fromEnum :: Word32 -> Int Source # enumFrom :: Word32 -> [Word32] Source # enumFromThen :: Word32 -> Word32 -> [Word32] Source # enumFromTo :: Word32 -> Word32 -> [Word32] Source # enumFromThenTo :: Word32 -> Word32 -> Word32 -> [Word32] Source #
Ix Word32 | Since: base-2.1
Instance details Defined in GHC.Word Methods range :: (Word32, Word32) -> [Word32] Source # index :: (Word32, Word32) -> Word32 -> Int Source # unsafeIndex :: (Word32, Word32) -> Word32 -> Int Source # inRange :: (Word32, Word32) -> Word32 -> Bool Source # rangeSize :: (Word32, Word32) -> Int Source # unsafeRangeSize :: (Word32, Word32) -> Int Source #
Num Word32 | Since: base-2.1
Instance details Defined in GHC.Word Methods (+) :: Word32 -> Word32 -> Word32 Source # (-) :: Word32 -> Word32 -> Word32 Source # (*) :: Word32 -> Word32 -> Word32 Source # negate :: Word32 -> Word32 Source # abs :: Word32 -> Word32 Source # signum :: Word32 -> Word32 Source # fromInteger :: Integer -> Word32 Source #
Read Word32 | Since: base-2.1
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Word32 Source # readList :: ReadS [Word32] Source # readPrec :: ReadPrec Word32 Source # readListPrec :: ReadPrec [Word32] Source #
Integral Word32 | Since: base-2.1
Instance details Defined in GHC.Word Methods quot :: Word32 -> Word32 -> Word32 Source # rem :: Word32 -> Word32 -> Word32 Source # div :: Word32 -> Word32 -> Word32 Source # mod :: Word32 -> Word32 -> Word32 Source # quotRem :: Word32 -> Word32 -> (Word32, Word32) Source # divMod :: Word32 -> Word32 -> (Word32, Word32) Source # toInteger :: Word32 -> Integer Source #
Real Word32 | Since: base-2.1
Instance details Defined in GHC.Word Methods toRational :: Word32 -> Rational Source #
Show Word32 | Since: base-2.1
Instance details Defined in GHC.Word Methods showsPrec :: Int -> Word32 -> ShowS Source # show :: Word32 -> String Source # showList :: [Word32] -> ShowS Source #
PrintfArg Word32 | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Word32 -> FieldFormatter Source # parseFormat :: Word32 -> ModifierParser Source #
Binary Word32 |
Instance details Defined in Data.Binary.Class Methods put :: Word32 -> Put Source # get :: Get Word32 Source # putList :: [Word32] -> Put Source #
ToMarkup Word32 |
Instance details Defined in Text.Blaze Methods toMarkup :: Word32 -> Markup preEscapedToMarkup :: Word32 -> Markup
ToValue Word32 |
Instance details Defined in Text.Blaze Methods toValue :: Word32 -> AttributeValue preEscapedToValue :: Word32 -> AttributeValue
NFData Word32 |
Instance details Defined in Control.DeepSeq Methods rnf :: Word32 -> () Source #
IsValue Word32 Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: Word32 -> PrimValue Source #
IsPrimValue Word32 Source # |
Instance details Defined in Language.Futhark.Syntax Methods primValue :: Word32 -> PrimValue Source #
GetValue Word32 |
Instance details Defined in Futhark.Data Methods getValue :: Value -> Maybe Word32 Source #
PutValue Word32 |
Instance details Defined in Futhark.Data Methods putValue :: Word32 -> Maybe Value Source #
PutValue1 Word32 |
Instance details Defined in Futhark.Data Methods putValue1 :: Word32 -> Value Source #
Eq Word32 | Since: base-2.1
Instance details Defined in GHC.Word Methods (==) :: Word32 -> Word32 -> Bool Source # (/=) :: Word32 -> Word32 -> Bool Source #
Ord Word32 | Since: base-2.1
Instance details Defined in GHC.Word Methods compare :: Word32 -> Word32 -> Ordering Source # (<) :: Word32 -> Word32 -> Bool Source # (<=) :: Word32 -> Word32 -> Bool Source # (>) :: Word32 -> Word32 -> Bool Source # (>=) :: Word32 -> Word32 -> Bool Source # max :: Word32 -> Word32 -> Word32 Source # min :: Word32 -> Word32 -> Word32 Source #
Hashable Word32 |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Word32 -> Int hash :: Word32 -> Int
ToConst Word32 |
Instance details Defined in Language.C.Quote.Base Methods toConst :: Word32 -> SrcLoc -> Const Source #
ToExp Word32 |
Instance details Defined in Language.C.Quote.Base Methods toExp :: Word32 -> SrcLoc -> Exp Source #
Pretty Word32 |
Instance details Defined in Text.PrettyPrint.Mainland.Class Methods ppr :: Word32 -> Doc Source # pprPrec :: Int -> Word32 -> Doc Source # pprList :: [Word32] -> Doc Source #
Variate Word32 |
Instance details Defined in System.Random.MWC Methods uniform :: PrimMonad m => Gen (PrimState m) -> m Word32 Source # uniformR :: PrimMonad m => (Word32, Word32) -> Gen (PrimState m) -> m Word32 Source #
Pretty Word32 |
Instance details Defined in Prettyprinter.Internal Methods pretty :: Word32 -> Doc ann Source # prettyList :: [Word32] -> Doc ann Source #
Prim Word32 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word32 -> Int#

alignment# :: Word32 -> Int#

indexByteArray# :: ByteArray# -> Int# -> Word32

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word32 #)

writeByteArray# :: MutableByteArray# s -> Int# -> Word32 -> State# s -> State# s

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word32 -> State# s -> State# s

indexOffAddr# :: Addr# -> Int# -> Word32

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word32 #)

writeOffAddr# :: Addr# -> Int# -> Word32 -> State# s -> State# s

setOffAddr# :: Addr# -> Int# -> Int# -> Word32 -> State# s -> State# s

Random Word32 |
Instance details Defined in System.Random Methods randomR :: RandomGen g => (Word32, Word32) -> g -> (Word32, g) Source # random :: RandomGen g => g -> (Word32, g) Source # randomRs :: RandomGen g => (Word32, Word32) -> g -> [Word32] Source # randoms :: RandomGen g => g -> [Word32] Source #
Finite Word32 |
Instance details Defined in System.Random.GFinite Methods cardinality :: Proxy# Word32 -> Cardinality toFinite :: Integer -> Word32 fromFinite :: Word32 -> Integer
Uniform Word32 |
Instance details Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Word32 Source #
UniformRange Word32 |
Instance details Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Word32, Word32) -> g -> m Word32 Source #
ByteSource Word32 |
Instance details Defined in Data.UUID.Types.Internal.Builder Methods (/-/) :: ByteSink Word32 g -> Word32 -> g
Unbox Word32 |
Instance details Defined in Data.Vector.Unboxed.Base
IArray UArray Word32 |

Instance details

Defined in Data.Array.Base

Methods

bounds :: Ix i => UArray i Word32 -> (i, i) Source #

numElements :: Ix i => UArray i Word32 -> Int Source #

unsafeArray :: Ix i => (i, i) -> [(Int, Word32)] -> UArray i Word32 Source #

unsafeAt :: Ix i => UArray i Word32 -> Int -> Word32 Source #

unsafeReplace :: Ix i => UArray i Word32 -> [(Int, Word32)] -> UArray i Word32 Source #

unsafeAccum :: Ix i => (Word32 -> e' -> Word32) -> UArray i Word32 -> [(Int, e')] -> UArray i Word32 Source #

unsafeAccumArray :: Ix i => (Word32 -> e' -> Word32) -> Word32 -> (i, i) -> [(Int, e')] -> UArray i Word32 Source #

Lift Word32 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Word32 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Word32 -> Code m Word32 Source #
Vector Vector Word32 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Word32 -> ST s (Vector Word32) Source #

basicUnsafeThaw :: Vector Word32 -> ST s (Mutable Vector s Word32) Source #

basicLength :: Vector Word32 -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector Word32 -> Vector Word32 Source #

basicUnsafeIndexM :: Vector Word32 -> Int -> Box Word32 Source #

basicUnsafeCopy :: Mutable Vector s Word32 -> Vector Word32 -> ST s () Source #

elemseq :: Vector Word32 -> Word32 -> b -> b Source #

MVector MVector Word32 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Word32 -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s Word32 -> MVector s Word32 Source #

basicOverlaps :: MVector s Word32 -> MVector s Word32 -> Bool Source #

basicUnsafeNew :: Int -> ST s (MVector s Word32) Source #

basicInitialize :: MVector s Word32 -> ST s () Source #

basicUnsafeReplicate :: Int -> Word32 -> ST s (MVector s Word32) Source #

basicUnsafeRead :: MVector s Word32 -> Int -> ST s Word32 Source #

basicUnsafeWrite :: MVector s Word32 -> Int -> Word32 -> ST s () Source #

basicClear :: MVector s Word32 -> ST s () Source #

basicSet :: MVector s Word32 -> Word32 -> ST s () Source #

basicUnsafeCopy :: MVector s Word32 -> MVector s Word32 -> ST s () Source #

basicUnsafeMove :: MVector s Word32 -> MVector s Word32 -> ST s () Source #

basicUnsafeGrow :: MVector s Word32 -> Int -> ST s (MVector s Word32) Source #

MArray (STUArray s) Word32 (ST s) |

Instance details

Defined in Data.Array.Base

Methods

getBounds :: Ix i => STUArray s i Word32 -> ST s (i, i) Source #

getNumElements :: Ix i => STUArray s i Word32 -> ST s Int Source #

newArray :: Ix i => (i, i) -> Word32 -> ST s (STUArray s i Word32) Source #

newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Word32) Source #

unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Word32) Source #

unsafeRead :: Ix i => STUArray s i Word32 -> Int -> ST s Word32 Source #

unsafeWrite :: Ix i => STUArray s i Word32 -> Int -> Word32 -> ST s () Source #

type Unsigned Word32 |
Instance details Defined in System.Random.MWC type Unsigned Word32 = Word32
newtype Vector Word32 |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector Word32 = V_Word32 (Vector Word32)
type ByteSink Word32 g |
Instance details Defined in Data.UUID.Types.Internal.Builder type ByteSink Word32 g = Takes4Bytes g
newtype MVector s Word32 |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s Word32 = MV_Word32 (MVector s Word32)

data Word16 Source #

16-bit unsigned integer type

#### Instances

Instances details

FromJSON Word16 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Word16 Source # parseJSONList :: Value -> Parser [Word16] Source #
FromJSONKey Word16 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods fromJSONKey :: FromJSONKeyFunction Word16 Source # fromJSONKeyList :: FromJSONKeyFunction [Word16] Source #
ToJSON Word16 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Word16 -> Value Source # toEncoding :: Word16 -> Encoding Source # toJSONList :: [Word16] -> Value Source # toEncodingList :: [Word16] -> Encoding Source #
ToJSONKey Word16 |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSONKey :: ToJSONKeyFunction Word16 Source # toJSONKeyList :: ToJSONKeyFunction [Word16] Source #
Storable Word16 | Since: base-2.1

Instance details

Defined in Foreign.Storable

Methods

sizeOf :: Word16 -> Int Source #

alignment :: Word16 -> Int Source #

peekElemOff :: Ptr Word16 -> Int -> IO Word16 Source #

pokeElemOff :: Ptr Word16 -> Int -> Word16 -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Word16 Source #

pokeByteOff :: Ptr b -> Int -> Word16 -> IO () Source #

peek :: Ptr Word16 -> IO Word16 Source #

poke :: Ptr Word16 -> Word16 -> IO () Source #

Bits Word16 | Since: base-2.1

Instance details

Defined in GHC.Word

Methods

(.&.) :: Word16 -> Word16 -> Word16 Source #

(.|.) :: Word16 -> Word16 -> Word16 Source #

xor :: Word16 -> Word16 -> Word16 Source #

complement :: Word16 -> Word16 Source #

shift :: Word16 -> Int -> Word16 Source #

rotate :: Word16 -> Int -> Word16 Source #

zeroBits :: Word16 Source #

bit :: Int -> Word16 Source #

setBit :: Word16 -> Int -> Word16 Source #

clearBit :: Word16 -> Int -> Word16 Source #

complementBit :: Word16 -> Int -> Word16 Source #

testBit :: Word16 -> Int -> Bool Source #

bitSizeMaybe :: Word16 -> Maybe Int Source #

bitSize :: Word16 -> Int Source #

isSigned :: Word16 -> Bool Source #

shiftL :: Word16 -> Int -> Word16 Source #

unsafeShiftL :: Word16 -> Int -> Word16 Source #

shiftR :: Word16 -> Int -> Word16 Source #

unsafeShiftR :: Word16 -> Int -> Word16 Source #

rotateL :: Word16 -> Int -> Word16 Source #

rotateR :: Word16 -> Int -> Word16 Source #

popCount :: Word16 -> Int Source #

FiniteBits Word16 | Since: base-4.6.0.0
Instance details Defined in GHC.Word Methods finiteBitSize :: Word16 -> Int Source # countLeadingZeros :: Word16 -> Int Source # countTrailingZeros :: Word16 -> Int Source #
Bounded Word16 | Since: base-2.1
Instance details Defined in GHC.Word Methods minBound :: Word16 Source # maxBound :: Word16 Source #
Enum Word16 | Since: base-2.1
Instance details Defined in GHC.Word Methods succ :: Word16 -> Word16 Source # pred :: Word16 -> Word16 Source # toEnum :: Int -> Word16 Source # fromEnum :: Word16 -> Int Source # enumFrom :: Word16 -> [Word16] Source # enumFromThen :: Word16 -> Word16 -> [Word16] Source # enumFromTo :: Word16 -> Word16 -> [Word16] Source # enumFromThenTo :: Word16 -> Word16 -> Word16 -> [Word16] Source #
Ix Word16 | Since: base-2.1
Instance details Defined in GHC.Word Methods range :: (Word16, Word16) -> [Word16] Source # index :: (Word16, Word16) -> Word16 -> Int Source # unsafeIndex :: (Word16, Word16) -> Word16 -> Int Source # inRange :: (Word16, Word16) -> Word16 -> Bool Source # rangeSize :: (Word16, Word16) -> Int Source # unsafeRangeSize :: (Word16, Word16) -> Int Source #
Num Word16 | Since: base-2.1
Instance details Defined in GHC.Word Methods (+) :: Word16 -> Word16 -> Word16 Source # (-) :: Word16 -> Word16 -> Word16 Source # (*) :: Word16 -> Word16 -> Word16 Source # negate :: Word16 -> Word16 Source # abs :: Word16 -> Word16 Source # signum :: Word16 -> Word16 Source # fromInteger :: Integer -> Word16 Source #
Read Word16 | Since: base-2.1
Instance details Defined in GHC.Read Methods readsPrec :: Int -> ReadS Word16 Source # readList :: ReadS [Word16] Source # readPrec :: ReadPrec Word16 Source # readListPrec :: ReadPrec [Word16] Source #
Integral Word16 | Since: base-2.1
Instance details Defined in GHC.Word Methods quot :: Word16 -> Word16 -> Word16 Source # rem :: Word16 -> Word16 -> Word16 Source # div :: Word16 -> Word16 -> Word16 Source # mod :: Word16 -> Word16 -> Word16 Source # quotRem :: Word16 -> Word16 -> (Word16, Word16) Source # divMod :: Word16 -> Word16 -> (Word16, Word16) Source # toInteger :: Word16 -> Integer Source #
Real Word16 | Since: base-2.1
Instance details Defined in GHC.Word Methods toRational :: Word16 -> Rational Source #
Show Word16 | Since: base-2.1
Instance details Defined in GHC.Word Methods showsPrec :: Int -> Word16 -> ShowS Source # show :: Word16 -> String Source # showList :: [Word16] -> ShowS Source #
PrintfArg Word16 | Since: base-2.1
Instance details Defined in Text.Printf Methods formatArg :: Word16 -> FieldFormatter Source # parseFormat :: Word16 -> ModifierParser Source #
Binary Word16 |
Instance details Defined in Data.Binary.Class Methods put :: Word16 -> Put Source # get :: Get Word16 Source # putList :: [Word16] -> Put Source #
NFData Word16 |
Instance details Defined in Control.DeepSeq Methods rnf :: Word16 -> () Source #
IsValue Word16 Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: Word16 -> PrimValue Source #
IsPrimValue Word16 Source # |
Instance details Defined in Language.Futhark.Syntax Methods primValue :: Word16 -> PrimValue Source #
GetValue Word16 |
Instance details Defined in Futhark.Data Methods getValue :: Value -> Maybe Word16 Source #
PutValue Word16 |
Instance details Defined in Futhark.Data Methods putValue :: Word16 -> Maybe Value Source #
PutValue1 Word16 |
Instance details Defined in Futhark.Data Methods putValue1 :: Word16 -> Value Source #
Eq Word16 | Since: base-2.1
Instance details Defined in GHC.Word Methods (==) :: Word16 -> Word16 -> Bool Source # (/=) :: Word16 -> Word16 -> Bool Source #
Ord Word16 | Since: base-2.1
Instance details Defined in GHC.Word Methods compare :: Word16 -> Word16 -> Ordering Source # (<) :: Word16 -> Word16 -> Bool Source # (<=) :: Word16 -> Word16 -> Bool Source # (>) :: Word16 -> Word16 -> Bool Source # (>=) :: Word16 -> Word16 -> Bool Source # max :: Word16 -> Word16 -> Word16 Source # min :: Word16 -> Word16 -> Word16 Source #
Hashable Word16 |
Instance details Defined in Data.Hashable.Class Methods hashWithSalt :: Int -> Word16 -> Int hash :: Word16 -> Int
ToConst Word16 |
Instance details Defined in Language.C.Quote.Base Methods toConst :: Word16 -> SrcLoc -> Const Source #
ToExp Word16 |
Instance details Defined in Language.C.Quote.Base Methods toExp :: Word16 -> SrcLoc -> Exp Source #
Pretty Word16 |
Instance details Defined in Text.PrettyPrint.Mainland.Class Methods ppr :: Word16 -> Doc Source # pprPrec :: Int -> Word16 -> Doc Source # pprList :: [Word16] -> Doc Source #
Variate Word16 |
Instance details Defined in System.Random.MWC Methods uniform :: PrimMonad m => Gen (PrimState m) -> m Word16 Source # uniformR :: PrimMonad m => (Word16, Word16) -> Gen (PrimState m) -> m Word16 Source #
Pretty Word16 |
Instance details Defined in Prettyprinter.Internal Methods pretty :: Word16 -> Doc ann Source # prettyList :: [Word16] -> Doc ann Source #
Prim Word16 |

Instance details

Defined in Data.Primitive.Types

Methods

sizeOf# :: Word16 -> Int#

alignment# :: Word16 -> Int#

indexByteArray# :: ByteArray# -> Int# -> Word16

readByteArray# :: MutableByteArray# s -> Int# -> State# s -> (# State# s, Word16 #)

writeByteArray# :: MutableByteArray# s -> Int# -> Word16 -> State# s -> State# s

setByteArray# :: MutableByteArray# s -> Int# -> Int# -> Word16 -> State# s -> State# s

indexOffAddr# :: Addr# -> Int# -> Word16

readOffAddr# :: Addr# -> Int# -> State# s -> (# State# s, Word16 #)

writeOffAddr# :: Addr# -> Int# -> Word16 -> State# s -> State# s

setOffAddr# :: Addr# -> Int# -> Int# -> Word16 -> State# s -> State# s

Random Word16 |
Instance details Defined in System.Random Methods randomR :: RandomGen g => (Word16, Word16) -> g -> (Word16, g) Source # random :: RandomGen g => g -> (Word16, g) Source # randomRs :: RandomGen g => (Word16, Word16) -> g -> [Word16] Source # randoms :: RandomGen g => g -> [Word16] Source #
Finite Word16 |
Instance details Defined in System.Random.GFinite Methods cardinality :: Proxy# Word16 -> Cardinality toFinite :: Integer -> Word16 fromFinite :: Word16 -> Integer
Uniform Word16 |
Instance details Defined in System.Random.Internal Methods uniformM :: StatefulGen g m => g -> m Word16 Source #
UniformRange Word16 |
Instance details Defined in System.Random.Internal Methods uniformRM :: StatefulGen g m => (Word16, Word16) -> g -> m Word16 Source #
ByteSource Word16 |
Instance details Defined in Data.UUID.Types.Internal.Builder Methods (/-/) :: ByteSink Word16 g -> Word16 -> g
Unbox Word16 |
Instance details Defined in Data.Vector.Unboxed.Base
IArray UArray Word16 |

Instance details

Defined in Data.Array.Base

Methods

bounds :: Ix i => UArray i Word16 -> (i, i) Source #

numElements :: Ix i => UArray i Word16 -> Int Source #

unsafeArray :: Ix i => (i, i) -> [(Int, Word16)] -> UArray i Word16 Source #

unsafeAt :: Ix i => UArray i Word16 -> Int -> Word16 Source #

unsafeReplace :: Ix i => UArray i Word16 -> [(Int, Word16)] -> UArray i Word16 Source #

unsafeAccum :: Ix i => (Word16 -> e' -> Word16) -> UArray i Word16 -> [(Int, e')] -> UArray i Word16 Source #

unsafeAccumArray :: Ix i => (Word16 -> e' -> Word16) -> Word16 -> (i, i) -> [(Int, e')] -> UArray i Word16 Source #

Lift Word16 |
Instance details Defined in Language.Haskell.TH.Syntax Methods lift :: Quote m => Word16 -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Word16 -> Code m Word16 Source #
Vector Vector Word16 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Word16 -> ST s (Vector Word16) Source #

basicUnsafeThaw :: Vector Word16 -> ST s (Mutable Vector s Word16) Source #

basicLength :: Vector Word16 -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector Word16 -> Vector Word16 Source #

basicUnsafeIndexM :: Vector Word16 -> Int -> Box Word16 Source #

basicUnsafeCopy :: Mutable Vector s Word16 -> Vector Word16 -> ST s () Source #

elemseq :: Vector Word16 -> Word16 -> b -> b Source #

MVector MVector Word16 |

Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Word16 -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s Word16 -> MVector s Word16 Source #

basicOverlaps :: MVector s Word16 -> MVector s Word16 -> Bool Source #

basicUnsafeNew :: Int -> ST s (MVector s Word16) Source #

basicInitialize :: MVector s Word16 -> ST s () Source #

basicUnsafeReplicate :: Int -> Word16 -> ST s (MVector s Word16) Source #

basicUnsafeRead :: MVector s Word16 -> Int -> ST s Word16 Source #

basicUnsafeWrite :: MVector s Word16 -> Int -> Word16 -> ST s () Source #

basicClear :: MVector s Word16 -> ST s () Source #

basicSet :: MVector s Word16 -> Word16 -> ST s () Source #

basicUnsafeCopy :: MVector s Word16 -> MVector s Word16 -> ST s () Source #

basicUnsafeMove :: MVector s Word16 -> MVector s Word16 -> ST s () Source #

basicUnsafeGrow :: MVector s Word16 -> Int -> ST s (MVector s Word16) Source #

MArray (STUArray s) Word16 (ST s) |

Instance details

Defined in Data.Array.Base

Methods

getBounds :: Ix i => STUArray s i Word16 -> ST s (i, i) Source #

getNumElements :: Ix i => STUArray s i Word16 -> ST s Int Source #

newArray :: Ix i => (i, i) -> Word16 -> ST s (STUArray s i Word16) Source #

newArray_ :: Ix i => (i, i) -> ST s (STUArray s i Word16) Source #

unsafeNewArray_ :: Ix i => (i, i) -> ST s (STUArray s i Word16) Source #

unsafeRead :: Ix i => STUArray s i Word16 -> Int -> ST s Word16 Source #

unsafeWrite :: Ix i => STUArray s i Word16 -> Int -> Word16 -> ST s () Source #

type Unsigned Word16 |
Instance details Defined in System.Random.MWC type Unsigned Word16 = Word16
newtype Vector Word16 |
Instance details Defined in Data.Vector.Unboxed.Base newtype Vector Word16 = V_Word16 (Vector Word16)
type ByteSink Word16 g |
Instance details Defined in Data.UUID.Types.Internal.Builder type ByteSink Word16 g = Takes2Bytes g
newtype MVector s Word16 |
Instance details Defined in Data.Vector.Unboxed.Base newtype MVector s Word16 = MV_Word16 (MVector s Word16)

data Half Source #

#### Instances

Instances details

Storable Half |

Instance details

Defined in Numeric.Half.Internal

Methods

sizeOf :: Half -> Int Source #

alignment :: Half -> Int Source #

peekElemOff :: Ptr Half -> Int -> IO Half Source #

pokeElemOff :: Ptr Half -> Int -> Half -> IO () Source #

peekByteOff :: Ptr b -> Int -> IO Half Source #

pokeByteOff :: Ptr b -> Int -> Half -> IO () Source #

peek :: Ptr Half -> IO Half Source #

poke :: Ptr Half -> Half -> IO () Source #

Floating Half |

Instance details

Defined in Numeric.Half.Internal

Methods

pi :: Half Source #

exp :: Half -> Half Source #

log :: Half -> Half Source #

sqrt :: Half -> Half Source #

(**) :: Half -> Half -> Half Source #

logBase :: Half -> Half -> Half Source #

sin :: Half -> Half Source #

cos :: Half -> Half Source #

tan :: Half -> Half Source #

asin :: Half -> Half Source #

acos :: Half -> Half Source #

atan :: Half -> Half Source #

sinh :: Half -> Half Source #

cosh :: Half -> Half Source #

tanh :: Half -> Half Source #

asinh :: Half -> Half Source #

acosh :: Half -> Half Source #

atanh :: Half -> Half Source #

log1p :: Half -> Half Source #

expm1 :: Half -> Half Source #

log1pexp :: Half -> Half Source #

log1mexp :: Half -> Half Source #

RealFloat Half |

Instance details

Defined in Numeric.Half.Internal

Methods

floatRadix :: Half -> Integer Source #

floatDigits :: Half -> Int Source #

floatRange :: Half -> (Int, Int) Source #

decodeFloat :: Half -> (Integer, Int) Source #

encodeFloat :: Integer -> Int -> Half Source #

exponent :: Half -> Int Source #

significand :: Half -> Half Source #

scaleFloat :: Int -> Half -> Half Source #

isNaN :: Half -> Bool Source #

isInfinite :: Half -> Bool Source #

isDenormalized :: Half -> Bool Source #

isNegativeZero :: Half -> Bool Source #

isIEEE :: Half -> Bool Source #

atan2 :: Half -> Half -> Half Source #

Generic Half |
Instance details Defined in Numeric.Half.Internal Associated Types type Rep Half :: Type -> Type Source # Methods from :: Half -> Rep Half x Source # to :: Rep Half x -> Half Source #
Num Half |
Instance details Defined in Numeric.Half.Internal Methods (+) :: Half -> Half -> Half Source # (-) :: Half -> Half -> Half Source # (*) :: Half -> Half -> Half Source # negate :: Half -> Half Source # abs :: Half -> Half Source # signum :: Half -> Half Source # fromInteger :: Integer -> Half Source #
Read Half |
Instance details Defined in Numeric.Half.Internal Methods readsPrec :: Int -> ReadS Half Source # readList :: ReadS [Half] Source # readPrec :: ReadPrec Half Source # readListPrec :: ReadPrec [Half] Source #
Fractional Half |
Instance details Defined in Numeric.Half.Internal Methods (/) :: Half -> Half -> Half Source # recip :: Half -> Half Source # fromRational :: Rational -> Half Source #
Real Half |
Instance details Defined in Numeric.Half.Internal Methods toRational :: Half -> Rational Source #
RealFrac Half |
Instance details Defined in Numeric.Half.Internal Methods properFraction :: Integral b => Half -> (b, Half) Source # truncate :: Integral b => Half -> b Source # round :: Integral b => Half -> b Source # ceiling :: Integral b => Half -> b Source # floor :: Integral b => Half -> b Source #
Show Half |
Instance details Defined in Numeric.Half.Internal Methods showsPrec :: Int -> Half -> ShowS Source # show :: Half -> String Source # showList :: [Half] -> ShowS Source #
Binary Half |
Instance details Defined in Numeric.Half.Internal Methods put :: Half -> Put Source # get :: Get Half Source # putList :: [Half] -> Put Source #
NFData Half |
Instance details Defined in Numeric.Half.Internal Methods rnf :: Half -> () Source #
Eq Half |
Instance details Defined in Numeric.Half.Internal Methods (==) :: Half -> Half -> Bool Source # (/=) :: Half -> Half -> Bool Source #
Ord Half |
Instance details Defined in Numeric.Half.Internal Methods compare :: Half -> Half -> Ordering Source # (<) :: Half -> Half -> Bool Source # (<=) :: Half -> Half -> Bool Source # (>) :: Half -> Half -> Bool Source # (>=) :: Half -> Half -> Bool Source # max :: Half -> Half -> Half Source # min :: Half -> Half -> Half Source #
Pretty Half Source # |
Instance details Defined in Futhark.Util.Pretty Methods pretty :: Half -> Doc ann Source # prettyList :: [Half] -> Doc ann Source #
UniformRange Half Source # |
Instance details Defined in Futhark.CLI.Dataset Methods uniformRM :: StatefulGen g m => (Half, Half) -> g -> m Half Source #
FloatExp Half Source # |
Instance details Defined in Futhark.Analysis.PrimExp Methods fromRational' :: Rational -> TPrimExp Half v Source # expFloatType :: TPrimExp Half v -> FloatType Source #
NumExp Half Source # |
Instance details Defined in Futhark.Analysis.PrimExp Methods fromInteger' :: Integer -> TPrimExp Half v Source # fromBoolExp :: TPrimExp Bool v -> TPrimExp Half v Source #
MkTV Half Source # |
Instance details Defined in Futhark.CodeGen.ImpGen Methods mkTV :: VName -> TV Half Source # tvType :: TV Half -> PrimType Source #
Lift Half |
Instance details Defined in Numeric.Half.Internal Methods lift :: Quote m => Half -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Half -> Code m Half Source #
Pretty v => Floating (TPrimExp Half v) Source # |

Instance details

Defined in Futhark.Analysis.PrimExp

Methods

pi :: TPrimExp Half v Source #

exp :: TPrimExp Half v -> TPrimExp Half v Source #

log :: TPrimExp Half v -> TPrimExp Half v Source #

sqrt :: TPrimExp Half v -> TPrimExp Half v Source #

(**) :: TPrimExp Half v -> TPrimExp Half v -> TPrimExp Half v Source #

logBase :: TPrimExp Half v -> TPrimExp Half v -> TPrimExp Half v Source #

sin :: TPrimExp Half v -> TPrimExp Half v Source #

cos :: TPrimExp Half v -> TPrimExp Half v Source #

tan :: TPrimExp Half v -> TPrimExp Half v Source #

asin :: TPrimExp Half v -> TPrimExp Half v Source #

acos :: TPrimExp Half v -> TPrimExp Half v Source #

atan :: TPrimExp Half v -> TPrimExp Half v Source #

sinh :: TPrimExp Half v -> TPrimExp Half v Source #

cosh :: TPrimExp Half v -> TPrimExp Half v Source #

tanh :: TPrimExp Half v -> TPrimExp Half v Source #

asinh :: TPrimExp Half v -> TPrimExp Half v Source #

acosh :: TPrimExp Half v -> TPrimExp Half v Source #

atanh :: TPrimExp Half v -> TPrimExp Half v Source #

log1p :: TPrimExp Half v -> TPrimExp Half v Source #

expm1 :: TPrimExp Half v -> TPrimExp Half v Source #

log1pexp :: TPrimExp Half v -> TPrimExp Half v Source #

log1mexp :: TPrimExp Half v -> TPrimExp Half v Source #

type Rep Half |
Instance details Defined in Numeric.Half.Internal type Rep Half = D1 ('MetaData "Half" "Numeric.Half.Internal" "half-0.3.1-H4tuI2JRlq2ChsYBLMzzDb" 'True) (C1 ('MetaCons "Half" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHalf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CUShort)))

# Values

data IntValue Source #

An integer value.

Constructors

Int8Value !Int8 |
Int16Value !Int16 |
Int32Value !Int32 |
Int64Value !Int64 |

#### Instances

Instances details

Show IntValue Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> IntValue -> ShowS Source # show :: IntValue -> String Source # showList :: [IntValue] -> ShowS Source #
IsValue IntValue Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: IntValue -> PrimValue Source #
Eq IntValue Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: IntValue -> IntValue -> Bool Source # (/=) :: IntValue -> IntValue -> Bool Source #
Ord IntValue Source # |
Instance details Defined in Language.Futhark.Primitive Methods compare :: IntValue -> IntValue -> Ordering Source # (<) :: IntValue -> IntValue -> Bool Source # (<=) :: IntValue -> IntValue -> Bool Source # (>) :: IntValue -> IntValue -> Bool Source # (>=) :: IntValue -> IntValue -> Bool Source # max :: IntValue -> IntValue -> IntValue Source # min :: IntValue -> IntValue -> IntValue Source #
ToExp IntValue Source # |
Instance details Defined in Futhark.CodeGen.Backends.SimpleRep Methods toExp :: IntValue -> SrcLoc -> Exp Source #
Pretty IntValue Source # |
Instance details Defined in Language.Futhark.Primitive Methods pretty :: IntValue -> Doc ann Source # prettyList :: [IntValue] -> Doc ann Source #

intValue :: Integral int => IntType -> int -> IntValue Source #

Create an `IntValue` from a type and an `Integer`.

intValueType :: IntValue -> IntType Source #

The type of an integer value.

valueIntegral :: Integral int => IntValue -> int Source #

Convert an `IntValue` to any `Integral` type.

data FloatValue Source #

A floating-point value.

Constructors

Float16Value !Half |
Float32Value !Float |
Float64Value !Double |

#### Instances

Instances details

Show FloatValue Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> FloatValue -> ShowS Source # show :: FloatValue -> String Source # showList :: [FloatValue] -> ShowS Source #
IsValue FloatValue Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: FloatValue -> PrimValue Source #
Eq FloatValue Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: FloatValue -> FloatValue -> Bool Source # (/=) :: FloatValue -> FloatValue -> Bool Source #
Ord FloatValue Source # |

Instance details

Defined in Language.Futhark.Primitive

Methods

compare :: FloatValue -> FloatValue -> Ordering Source #

(<) :: FloatValue -> FloatValue -> Bool Source #

(<=) :: FloatValue -> FloatValue -> Bool Source #

(>) :: FloatValue -> FloatValue -> Bool Source #

(>=) :: FloatValue -> FloatValue -> Bool Source #

max :: FloatValue -> FloatValue -> FloatValue Source #

min :: FloatValue -> FloatValue -> FloatValue Source #

ToExp FloatValue Source # |
Instance details Defined in Futhark.CodeGen.Backends.SimpleRep Methods toExp :: FloatValue -> SrcLoc -> Exp Source #
Pretty FloatValue Source # |
Instance details Defined in Language.Futhark.Primitive Methods pretty :: FloatValue -> Doc ann Source # prettyList :: [FloatValue] -> Doc ann Source #

floatValue :: Real num => FloatType -> num -> FloatValue Source #

Create a `FloatValue` from a type and a `Rational`.

floatValueType :: FloatValue -> FloatType Source #

The type of a floating-point value.

data PrimValue Source #

Non-array values.

Constructors

IntValue !IntValue |
FloatValue !FloatValue |
BoolValue !Bool |
UnitValue | The only value of type `Unit`.

#### Instances

Instances details

Show PrimValue Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> PrimValue -> ShowS Source # show :: PrimValue -> String Source # showList :: [PrimValue] -> ShowS Source #
IsValue PrimValue Source # |
Instance details Defined in Futhark.IR.Prop.Constants Methods value :: PrimValue -> PrimValue Source #
Eq PrimValue Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: PrimValue -> PrimValue -> Bool Source # (/=) :: PrimValue -> PrimValue -> Bool Source #
Ord PrimValue Source # |

Instance details

Defined in Language.Futhark.Primitive

Methods

compare :: PrimValue -> PrimValue -> Ordering Source #

(<) :: PrimValue -> PrimValue -> Bool Source #

(<=) :: PrimValue -> PrimValue -> Bool Source #

(>) :: PrimValue -> PrimValue -> Bool Source #

(>=) :: PrimValue -> PrimValue -> Bool Source #

max :: PrimValue -> PrimValue -> PrimValue Source #

min :: PrimValue -> PrimValue -> PrimValue Source #

ToExp PrimValue Source # |
Instance details Defined in Futhark.CodeGen.Backends.SimpleRep Methods toExp :: PrimValue -> SrcLoc -> Exp Source #
Pretty PrimValue Source # |
Instance details Defined in Language.Futhark.Primitive Methods pretty :: PrimValue -> Doc ann Source # prettyList :: [PrimValue] -> Doc ann Source #

primValueType :: PrimValue -> PrimType Source #

The type of a basic value.

blankPrimValue :: PrimType -> PrimValue Source #

A "blank" value of the given primitive type - this is zero, or whatever is close to it. Don't depend on this value, but use it for e.g. creating arrays to be populated by do-loops.

onePrimValue :: PrimType -> PrimValue Source #

A one value of the given primitive type - this is one whatever is close to it.

# Operations

data Overflow Source #

What to do in case of arithmetic overflow. Futhark's semantics are that overflow does wraparound, but for generated code (like address arithmetic), it can be beneficial for overflow to be undefined behaviour, as it allows better optimisation of things such as GPU kernels.

Note that all values of this type are considered equal for `Eq` and `Ord`.

Constructors

OverflowWrap |
OverflowUndef |

#### Instances

Instances details

Show Overflow Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> Overflow -> ShowS Source # show :: Overflow -> String Source # showList :: [Overflow] -> ShowS Source #
Eq Overflow Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: Overflow -> Overflow -> Bool Source # (/=) :: Overflow -> Overflow -> Bool Source #
Ord Overflow Source # |
Instance details Defined in Language.Futhark.Primitive Methods compare :: Overflow -> Overflow -> Ordering Source # (<) :: Overflow -> Overflow -> Bool Source # (<=) :: Overflow -> Overflow -> Bool Source # (>) :: Overflow -> Overflow -> Bool Source # (>=) :: Overflow -> Overflow -> Bool Source # max :: Overflow -> Overflow -> Overflow Source # min :: Overflow -> Overflow -> Overflow Source #

data Safety Source #

Whether something is safe or unsafe (mostly function calls, and in the context of whether operations are dynamically checked). When we inline an `Unsafe` function, we remove all safety checks in its body. The `Ord` instance picks `Unsafe` as being less than `Safe`.

For operations like integer division, a safe division will not explode the computer in case of division by zero, but instead return some unspecified value. This always involves a run-time check, so generally the unsafe variant is what the compiler will insert, but guarded by an explicit assertion elsewhere. Safe operations are useful when the optimiser wants to move e.g. a division to a location where the divisor may be zero, but where the result will only be used when it is non-zero (so it doesn't matter what result is provided with a zero divisor, as long as the program keeps running).

Constructors

Unsafe |
Safe |

#### Instances

Instances details

Show Safety Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> Safety -> ShowS Source # show :: Safety -> String Source # showList :: [Safety] -> ShowS Source #
Eq Safety Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: Safety -> Safety -> Bool Source # (/=) :: Safety -> Safety -> Bool Source #
Ord Safety Source # |
Instance details Defined in Language.Futhark.Primitive Methods compare :: Safety -> Safety -> Ordering Source # (<) :: Safety -> Safety -> Bool Source # (<=) :: Safety -> Safety -> Bool Source # (>) :: Safety -> Safety -> Bool Source # (>=) :: Safety -> Safety -> Bool Source # max :: Safety -> Safety -> Safety Source # min :: Safety -> Safety -> Safety Source #

data UnOp Source #

Various unary operators. It is a bit ad-hoc what is a unary operator and what is a built-in function. Perhaps these should all go away eventually.

Constructors

Neg PrimType | Flip sign. Logical negation for booleans.
Complement IntType | E.g., `~(~1) = 1`.
Abs IntType | `abs(-2) = 2`.
FAbs FloatType | `fabs(-2.0) = 2.0`.
SSignum IntType | Signed sign function: `ssignum(-2)` = -1.
USignum IntType | Unsigned sign function: `usignum(2)` = 1.
FSignum FloatType | Floating-point sign function.

#### Instances

Instances details

Show UnOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> UnOp -> ShowS Source # show :: UnOp -> String Source # showList :: [UnOp] -> ShowS Source #
Eq UnOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: UnOp -> UnOp -> Bool Source # (/=) :: UnOp -> UnOp -> Bool Source #
Ord UnOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods compare :: UnOp -> UnOp -> Ordering Source # (<) :: UnOp -> UnOp -> Bool Source # (<=) :: UnOp -> UnOp -> Bool Source # (>) :: UnOp -> UnOp -> Bool Source # (>=) :: UnOp -> UnOp -> Bool Source # max :: UnOp -> UnOp -> UnOp Source # min :: UnOp -> UnOp -> UnOp Source #
Pretty UnOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods pretty :: UnOp -> Doc ann Source # prettyList :: [UnOp] -> Doc ann Source #

allUnOps :: [UnOp] Source #

A list of all unary operators for all types.

data BinOp Source #

Binary operators. These correspond closely to the binary operators in LLVM. Most are parametrised by their expected input and output types.

Constructors

Add IntType Overflow | Integer addition.
FAdd FloatType | Floating-point addition.
Sub IntType Overflow | Integer subtraction.
FSub FloatType | Floating-point subtraction.
Mul IntType Overflow | Integer multiplication.
FMul FloatType | Floating-point multiplication.
UDiv IntType Safety | Unsigned integer division. Rounds towards negativity infinity. Note: this is different from LLVM.
UDivUp IntType Safety | Unsigned integer division. Rounds towards positive infinity.
SDiv IntType Safety | Signed integer division. Rounds towards negativity infinity. Note: this is different from LLVM.
SDivUp IntType Safety | Signed integer division. Rounds towards positive infinity.
FDiv FloatType | Floating-point division.
FMod FloatType | Floating-point modulus.
UMod IntType Safety | Unsigned integer modulus; the countepart to `UDiv`.
SMod IntType Safety | Signed integer modulus; the countepart to `SDiv`.
SQuot IntType Safety | Signed integer division. Rounds towards zero. This corresponds to the `sdiv` instruction in LLVM and integer division in C.
SRem IntType Safety | Signed integer division. Rounds towards zero. This corresponds to the `srem` instruction in LLVM and integer modulo in C.
SMin IntType | Returns the smallest of two signed integers.
UMin IntType | Returns the smallest of two unsigned integers.
FMin FloatType | Returns the smallest of two floating-point numbers.
SMax IntType | Returns the greatest of two signed integers.
UMax IntType | Returns the greatest of two unsigned integers.
FMax FloatType | Returns the greatest of two floating-point numbers.
Shl IntType | Left-shift.
LShr IntType | Logical right-shift, zero-extended.
AShr IntType | Arithmetic right-shift, sign-extended.
And IntType | Bitwise and.
Or IntType | Bitwise or.
Xor IntType | Bitwise exclusive-or.
Pow IntType | Integer exponentiation.
FPow FloatType | Floating-point exponentiation.
LogAnd | Boolean and - not short-circuiting.
LogOr | Boolean or - not short-circuiting.

#### Instances

Instances details

Show BinOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> BinOp -> ShowS Source # show :: BinOp -> String Source # showList :: [BinOp] -> ShowS Source #
Eq BinOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: BinOp -> BinOp -> Bool Source # (/=) :: BinOp -> BinOp -> Bool Source #
Ord BinOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods compare :: BinOp -> BinOp -> Ordering Source # (<) :: BinOp -> BinOp -> Bool Source # (<=) :: BinOp -> BinOp -> Bool Source # (>) :: BinOp -> BinOp -> Bool Source # (>=) :: BinOp -> BinOp -> Bool Source # max :: BinOp -> BinOp -> BinOp Source # min :: BinOp -> BinOp -> BinOp Source #
Pretty BinOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods pretty :: BinOp -> Doc ann Source # prettyList :: [BinOp] -> Doc ann Source #

allBinOps :: [BinOp] Source #

A list of all binary operators for all types.

data ConvOp Source #

Conversion operators try to generalise the `from t0 x to t1` instructions from LLVM.

Constructors

ZExt IntType IntType | Zero-extend the former integer type to the latter. If the new type is smaller, the result is a truncation.
SExt IntType IntType | Sign-extend the former integer type to the latter. If the new type is smaller, the result is a truncation.
FPConv FloatType FloatType | Convert value of the former floating-point type to the latter. If the new type is smaller, the result is a truncation.
FPToUI FloatType IntType | Convert a floating-point value to the nearest unsigned integer (rounding towards zero).
FPToSI FloatType IntType | Convert a floating-point value to the nearest signed integer (rounding towards zero).
UIToFP IntType FloatType | Convert an unsigned integer to a floating-point value.
SIToFP IntType FloatType | Convert a signed integer to a floating-point value.
FPToBits FloatType | Convert floating point number to its bitwise representation.
BitsToFP FloatType | Convert bitwise representation to a floating point number.
IToB IntType | Convert an integer to a boolean value. Zero becomes false; anything else is true.
BToI IntType | Convert a boolean to an integer. True is converted to 1 and False to 0.
FToB FloatType | Convert a float to a boolean value. Zero becomes false; | anything else is true.
BToF FloatType | Convert a boolean to a float. True is converted to 1 and False to 0.

#### Instances

Instances details

Show ConvOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> ConvOp -> ShowS Source # show :: ConvOp -> String Source # showList :: [ConvOp] -> ShowS Source #
Eq ConvOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: ConvOp -> ConvOp -> Bool Source # (/=) :: ConvOp -> ConvOp -> Bool Source #
Ord ConvOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods compare :: ConvOp -> ConvOp -> Ordering Source # (<) :: ConvOp -> ConvOp -> Bool Source # (<=) :: ConvOp -> ConvOp -> Bool Source # (>) :: ConvOp -> ConvOp -> Bool Source # (>=) :: ConvOp -> ConvOp -> Bool Source # max :: ConvOp -> ConvOp -> ConvOp Source # min :: ConvOp -> ConvOp -> ConvOp Source #
Pretty ConvOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods pretty :: ConvOp -> Doc ann Source # prettyList :: [ConvOp] -> Doc ann Source #

allConvOps :: [ConvOp] Source #

A list of all conversion operators for all types.

data CmpOp Source #

Comparison operators are like `BinOp`s, but they always return a boolean value. The somewhat ugly constructor names are straight out of LLVM.

Constructors

CmpEq PrimType | All types equality.
CmpUlt IntType | Unsigned less than.
CmpUle IntType | Unsigned less than or equal.
CmpSlt IntType | Signed less than.
CmpSle IntType | Signed less than or equal.
FCmpLt FloatType | Floating-point less than.
FCmpLe FloatType | Floating-point less than or equal.
CmpLlt | Boolean less than.
CmpLle | Boolean less than or equal.

#### Instances

Instances details

Show CmpOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods showsPrec :: Int -> CmpOp -> ShowS Source # show :: CmpOp -> String Source # showList :: [CmpOp] -> ShowS Source #
Eq CmpOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods (==) :: CmpOp -> CmpOp -> Bool Source # (/=) :: CmpOp -> CmpOp -> Bool Source #
Ord CmpOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods compare :: CmpOp -> CmpOp -> Ordering Source # (<) :: CmpOp -> CmpOp -> Bool Source # (<=) :: CmpOp -> CmpOp -> Bool Source # (>) :: CmpOp -> CmpOp -> Bool Source # (>=) :: CmpOp -> CmpOp -> Bool Source # max :: CmpOp -> CmpOp -> CmpOp Source # min :: CmpOp -> CmpOp -> CmpOp Source #
Pretty CmpOp Source # |
Instance details Defined in Language.Futhark.Primitive Methods pretty :: CmpOp -> Doc ann Source # prettyList :: [CmpOp] -> Doc ann Source #

allCmpOps :: [CmpOp] Source #

A list of all comparison operators for all types.

## Unary Operations

doUnOp :: UnOp -> PrimValue -> Maybe PrimValue Source #

Apply an `UnOp` to an operand. Returns `Nothing` if the application is mistyped.

doComplement :: IntValue -> IntValue Source #

E.g., `~(~1) = 1`.

doAbs :: IntValue -> IntValue Source #

`abs(-2) = 2`.

doFAbs :: FloatValue -> FloatValue Source #

`abs(-2.0) = 2.0`.

doSSignum :: IntValue -> IntValue Source #

`ssignum(-2)` = -1.

doUSignum :: IntValue -> IntValue Source #

`usignum(-2)` = -1.

## Binary Operations

doBinOp :: BinOp -> PrimValue -> PrimValue -> Maybe PrimValue Source #

Apply a `BinOp` to an operand. Returns `Nothing` if the application is mistyped, or outside the domain (e.g. division by zero).

doAdd :: IntValue -> IntValue -> IntValue Source #

Integer addition.

doMul :: IntValue -> IntValue -> IntValue Source #

Integer multiplication.

doSDiv :: IntValue -> IntValue -> Maybe IntValue Source #

Signed integer division. Rounds towards negativity infinity. Note: this is different from LLVM.

doSMod :: IntValue -> IntValue -> Maybe IntValue Source #

Signed integer modulus; the countepart to `SDiv`.

doPow :: IntValue -> IntValue -> Maybe IntValue Source #

Signed integer exponentatation.

## Conversion Operations

doConvOp :: ConvOp -> PrimValue -> Maybe PrimValue Source #

Apply a `ConvOp` to an operand. Returns `Nothing` if the application is mistyped.

doZExt :: IntValue -> IntType -> IntValue Source #

Zero-extend the given integer value to the size of the given type. If the type is smaller than the given value, the result is a truncation.

doSExt :: IntValue -> IntType -> IntValue Source #

Sign-extend the given integer value to the size of the given type. If the type is smaller than the given value, the result is a truncation.

doFPConv :: FloatValue -> FloatType -> FloatValue Source #

Convert the former floating-point type to the latter.

doFPToUI :: FloatValue -> IntType -> IntValue Source #

Convert a floating-point value to the nearest unsigned integer (rounding towards zero).

doFPToSI :: FloatValue -> IntType -> IntValue Source #

Convert a floating-point value to the nearest signed integer (rounding towards zero).

doUIToFP :: IntValue -> FloatType -> FloatValue Source #

Convert an unsigned integer to a floating-point value.

doSIToFP :: IntValue -> FloatType -> FloatValue Source #

Convert a signed integer to a floating-point value.

intToInt64 :: IntValue -> Int64 Source #

Translate an `IntValue` to `Int64`. This is guaranteed to fit.

intToWord64 :: IntValue -> Word64 Source #

Translate an `IntValue` to `Word64`. This is guaranteed to fit.

flipConvOp :: ConvOp -> ConvOp Source #

Turn the conversion the other way around. Note that most conversions are lossy, so there is no guarantee the value will round-trip.

# Comparison Operations

doCmpOp :: CmpOp -> PrimValue -> PrimValue -> Maybe Bool Source #

Apply a `CmpOp` to an operand. Returns `Nothing` if the application is mistyped.

doCmpEq :: PrimValue -> PrimValue -> Bool Source #

Compare any two primtive values for exact equality.

doCmpUlt :: IntValue -> IntValue -> Bool Source #

Unsigned less than.

doCmpUle :: IntValue -> IntValue -> Bool Source #

Unsigned less than or equal.

doCmpSlt :: IntValue -> IntValue -> Bool Source #

Signed less than.

doCmpSle :: IntValue -> IntValue -> Bool Source #

Signed less than or equal.

doFCmpLt :: FloatValue -> FloatValue -> Bool Source #

Floating-point less than.

doFCmpLe :: FloatValue -> FloatValue -> Bool Source #

Floating-point less than or equal.

# Type Of

binOpType :: BinOp -> PrimType Source #

The result type of a binary operator.

unOpType :: UnOp -> PrimType Source #

The operand and result type of a unary operator.

cmpOpType :: CmpOp -> PrimType Source #

The operand types of a comparison operator.

convOpType :: ConvOp -> (PrimType, PrimType) Source #

The input and output types of a conversion operator.

# Primitive functions

primFuns :: Map Text ([PrimType], PrimType, [PrimValue] -> Maybe PrimValue) Source #

A mapping from names of primitive functions to their parameter types, their result type, and a function for evaluating them.

condFun :: PrimType -> Text Source #

`condFun t` is the name of the ternary conditional function that accepts operands of type `[Bool, t, t]`, and returns either the first or second `t` based on the truth value of the `Bool`.

isCondFun :: Text -> Maybe PrimType Source #

Is this the name of a condition function as per `condFun`, and for which type?

# Utility

zeroIsh :: PrimValue -> Bool Source #

Is the given value kind of zero?

zeroIshInt :: IntValue -> Bool Source #

Is the given integer value kind of zero?

oneIsh :: PrimValue -> Bool Source #

Is the given value kind of one?

oneIshInt :: IntValue -> Bool Source #

Is the given integer value kind of one?

negativeIsh :: PrimValue -> Bool Source #

Is the given value kind of negative?

primBitSize :: PrimType -> Int Source #

The size of a value of a given primitive type in bits.

primByteSize :: Num a => PrimType -> a Source #

The size of a value of a given primitive type in eight-bit bytes.

Warning: note that this is 0 for `Unit`, but a `Unit` takes up a byte in the binary data format.

intByteSize :: Num a => IntType -> a Source #

The size of a value of a given integer type in eight-bit bytes.

floatByteSize :: Num a => FloatType -> a Source #

The size of a value of a given floating-point type in eight-bit bytes.

commutativeBinOp :: BinOp -> Bool Source #

True if the given binary operator is commutative.

associativeBinOp :: BinOp -> Bool Source #

True if the given binary operator is associative.

# Prettyprinting

convOpFun :: ConvOp -> String Source #

The human-readable name for a `ConvOp`. This is used to expose the `ConvOp` in the `intrinsics` module of a Futhark program.

prettySigned :: Bool -> PrimType -> Text Source #

True if signed. Only makes a difference for integer types.