futhark
Safe HaskellNone
LanguageGHC2021

Language.Futhark.Primitive

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

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

Enum IntType Source # 
Instance details

Defined in Language.Futhark.Primitive

Show IntType Source # 
Instance details

Defined in Language.Futhark.Primitive

Eq IntType Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

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

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

Ord IntType Source # 
Instance details

Defined in Language.Futhark.Primitive

Pretty IntType Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

pretty :: IntType -> Doc ann #

prettyList :: [IntType] -> Doc ann #

allIntTypes :: [IntType] Source #

A list of all integer types.

data FloatType Source #

A floating point type.

Constructors

Float16 
Float32 
Float64 

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
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

Rename PrimType Source # 
Instance details

Defined in Futhark.Transform.Rename

Substitute PrimType Source # 
Instance details

Defined in Futhark.Transform.Substitute

Bounded PrimType Source # 
Instance details

Defined in Language.Futhark.Primitive

Enum PrimType Source # 
Instance details

Defined in Language.Futhark.Primitive

Show PrimType Source # 
Instance details

Defined in Language.Futhark.Primitive

Eq PrimType Source # 
Instance details

Defined in Language.Futhark.Primitive

Ord PrimType Source # 
Instance details

Defined in Language.Futhark.Primitive

Pretty PrimType Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

pretty :: PrimType -> Doc ann #

prettyList :: [PrimType] -> Doc ann #

allPrimTypes :: [PrimType] Source #

A list of all primitive types.

data Int16 #

16-bit signed integer type

Instances

Instances details
FromJSON Int16 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSONKey Int16 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

ToJSON Int16 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

ToJSONKey Int16 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

PrintfArg Int16 #

Since: base-2.1

Instance details

Defined in Text.Printf

Binary Int16 # 
Instance details

Defined in Data.Binary.Class

Methods

put :: Int16 -> Put #

get :: Get Int16 #

putList :: [Int16] -> Put #

NFData Int16 # 
Instance details

Defined in Control.DeepSeq

Methods

rnf :: Int16 -> () #

IsValue Int16 Source # 
Instance details

Defined in Futhark.IR.Prop.Constants

IsPrimValue Int16 Source # 
Instance details

Defined in Language.Futhark.Syntax

GetValue Int16 # 
Instance details

Defined in Futhark.Data

Methods

getValue :: Value -> Maybe Int16 #

PutValue Int16 # 
Instance details

Defined in Futhark.Data

Methods

putValue :: Int16 -> Maybe Value #

PutValue1 Int16 # 
Instance details

Defined in Futhark.Data

Methods

putValue1 :: Int16 -> Value #

Bits Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

FiniteBits Int16 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Int

Bounded Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Enum Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Storable Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Int16 -> Int #

alignment :: Int16 -> Int #

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

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

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

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

peek :: Ptr Int16 -> IO Int16 #

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

Ix Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Num Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Read Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Integral Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Real Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

toRational :: Int16 -> Rational #

Show Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

showsPrec :: Int -> Int16 -> ShowS #

show :: Int16 -> String #

showList :: [Int16] -> ShowS #

Eq Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

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

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

Ord Int16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

compare :: Int16 -> Int16 -> Ordering #

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

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

(>) :: Int16 -> Int16 -> Bool #

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

max :: Int16 -> Int16 -> Int16 #

min :: Int16 -> Int16 -> Int16 #

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 #

ToExp Int16 # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Int16 -> SrcLoc -> Exp #

Pretty Int16 # 
Instance details

Defined in Text.PrettyPrint.Mainland.Class

Methods

ppr :: Int16 -> Doc #

pprPrec :: Int -> Int16 -> Doc #

pprList :: [Int16] -> Doc #

Variate Int16 # 
Instance details

Defined in System.Random.MWC

Methods

uniform :: PrimMonad m => Gen (PrimState m) -> m Int16 #

uniformR :: PrimMonad m => (Int16, Int16) -> Gen (PrimState m) -> m Int16 #

Pretty Int16 # 
Instance details

Defined in Prettyprinter.Internal

Methods

pretty :: Int16 -> Doc ann #

prettyList :: [Int16] -> Doc ann #

Prim Int16 # 
Instance details

Defined in Data.Primitive.Types

Random Int16 # 
Instance details

Defined in System.Random

Methods

randomR :: RandomGen g => (Int16, Int16) -> g -> (Int16, g) #

random :: RandomGen g => g -> (Int16, g) #

randomRs :: RandomGen g => (Int16, Int16) -> g -> [Int16] #

randoms :: RandomGen g => g -> [Int16] #

Uniform Int16 # 
Instance details

Defined in System.Random.Internal

Methods

uniformM :: StatefulGen g m => g -> m Int16 #

UniformRange Int16 # 
Instance details

Defined in System.Random.Internal

Methods

uniformRM :: StatefulGen g m => (Int16, Int16) -> g -> m Int16 #

isInRange :: (Int16, Int16) -> Int16 -> Bool #

Ring Int16 # 
Instance details

Defined in Data.Semiring

Methods

negate :: Int16 -> Int16 #

Semiring Int16 # 
Instance details

Defined in Data.Semiring

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) #

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

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

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

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

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

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

IntExp Int16 Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

NumExp Int16 Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

MkTV Int16 Source # 
Instance details

Defined in Futhark.CodeGen.ImpGen

Lift Int16 # 
Instance details

Defined in GHC.Internal.TH.Lift

Methods

lift :: Quote m => Int16 -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Int16 -> Code m Int16 #

PrettyAnn ann Int16 #

Since: prettyprinter-1.7.2

Instance details

Defined in Prettyprinter.Internal

Methods

prettyAnn :: Int16 -> Doc ann #

prettyAnnList :: [Int16] -> Doc ann #

Vector Vector Int16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MVector MVector Int16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MArray IOUArray Int16 IO # 
Instance details

Defined in Data.Array.IO.Internals

Methods

getBounds :: Ix i => IOUArray i Int16 -> IO (i, i) #

getNumElements :: Ix i => IOUArray i Int16 -> IO Int #

newArray :: Ix i => (i, i) -> Int16 -> IO (IOUArray i Int16) #

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int16) #

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int16) #

unsafeRead :: Ix i => IOUArray i Int16 -> Int -> IO Int16 #

unsafeWrite :: Ix i => IOUArray i Int16 -> Int -> Int16 -> IO () #

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) #

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

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

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

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

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

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

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 MVector s Int16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

data Int32 #

32-bit signed integer type

Instances

Instances details
FromJSON Int32 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSONKey Int32 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

ToJSON Int32 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

ToJSONKey Int32 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

PrintfArg Int32 #

Since: base-2.1

Instance details

Defined in Text.Printf

Binary Int32 # 
Instance details

Defined in Data.Binary.Class

Methods

put :: Int32 -> Put #

get :: Get Int32 #

putList :: [Int32] -> Put #

ToMarkup Int32 # 
Instance details

Defined in Text.Blaze

ToValue Int32 # 
Instance details

Defined in Text.Blaze

NFData Int32 # 
Instance details

Defined in Control.DeepSeq

Methods

rnf :: Int32 -> () #

IsValue Int32 Source # 
Instance details

Defined in Futhark.IR.Prop.Constants

IsPrimValue Int32 Source # 
Instance details

Defined in Language.Futhark.Syntax

GetValue Int32 # 
Instance details

Defined in Futhark.Data

Methods

getValue :: Value -> Maybe Int32 #

PutValue Int32 # 
Instance details

Defined in Futhark.Data

Methods

putValue :: Int32 -> Maybe Value #

PutValue1 Int32 # 
Instance details

Defined in Futhark.Data

Methods

putValue1 :: Int32 -> Value #

Bits Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

FiniteBits Int32 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Int

Bounded Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Enum Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Storable Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Int32 -> Int #

alignment :: Int32 -> Int #

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

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

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

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

peek :: Ptr Int32 -> IO Int32 #

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

Ix Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Num Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Read Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Integral Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Real Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

toRational :: Int32 -> Rational #

Show Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

showsPrec :: Int -> Int32 -> ShowS #

show :: Int32 -> String #

showList :: [Int32] -> ShowS #

Eq Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

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

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

Ord Int32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

compare :: Int32 -> Int32 -> Ordering #

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

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

(>) :: Int32 -> Int32 -> Bool #

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

max :: Int32 -> Int32 -> Int32 #

min :: Int32 -> Int32 -> Int32 #

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 #

ToExp Int32 # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Int32 -> SrcLoc -> Exp #

Pretty Int32 # 
Instance details

Defined in Text.PrettyPrint.Mainland.Class

Methods

ppr :: Int32 -> Doc #

pprPrec :: Int -> Int32 -> Doc #

pprList :: [Int32] -> Doc #

Variate Int32 # 
Instance details

Defined in System.Random.MWC

Methods

uniform :: PrimMonad m => Gen (PrimState m) -> m Int32 #

uniformR :: PrimMonad m => (Int32, Int32) -> Gen (PrimState m) -> m Int32 #

Pretty Int32 # 
Instance details

Defined in Prettyprinter.Internal

Methods

pretty :: Int32 -> Doc ann #

prettyList :: [Int32] -> Doc ann #

Prim Int32 # 
Instance details

Defined in Data.Primitive.Types

Random Int32 # 
Instance details

Defined in System.Random

Methods

randomR :: RandomGen g => (Int32, Int32) -> g -> (Int32, g) #

random :: RandomGen g => g -> (Int32, g) #

randomRs :: RandomGen g => (Int32, Int32) -> g -> [Int32] #

randoms :: RandomGen g => g -> [Int32] #

Uniform Int32 # 
Instance details

Defined in System.Random.Internal

Methods

uniformM :: StatefulGen g m => g -> m Int32 #

UniformRange Int32 # 
Instance details

Defined in System.Random.Internal

Methods

uniformRM :: StatefulGen g m => (Int32, Int32) -> g -> m Int32 #

isInRange :: (Int32, Int32) -> Int32 -> Bool #

Ring Int32 # 
Instance details

Defined in Data.Semiring

Methods

negate :: Int32 -> Int32 #

Semiring Int32 # 
Instance details

Defined in Data.Semiring

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) #

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

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

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

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

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

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

IntExp Int32 Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

NumExp Int32 Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

MkTV Int32 Source # 
Instance details

Defined in Futhark.CodeGen.ImpGen

Lift Int32 # 
Instance details

Defined in GHC.Internal.TH.Lift

Methods

lift :: Quote m => Int32 -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Int32 -> Code m Int32 #

HasLsp_version VirtualFile Int32 # 
Instance details

Defined in Language.LSP.VFS

HasFrameId InlineValueContext Int32 # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasVersion NotebookDocument Int32 # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasVersion TextDocumentItem Int32 # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasVersion VersionedNotebookDocumentIdentifier Int32 # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasVersion VersionedTextDocumentIdentifier Int32 # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

PrettyAnn ann Int32 #

Since: prettyprinter-1.7.2

Instance details

Defined in Prettyprinter.Internal

Methods

prettyAnn :: Int32 -> Doc ann #

prettyAnnList :: [Int32] -> Doc ann #

Vector Vector Int32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MVector MVector Int32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MArray IOUArray Int32 IO # 
Instance details

Defined in Data.Array.IO.Internals

Methods

getBounds :: Ix i => IOUArray i Int32 -> IO (i, i) #

getNumElements :: Ix i => IOUArray i Int32 -> IO Int #

newArray :: Ix i => (i, i) -> Int32 -> IO (IOUArray i Int32) #

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int32) #

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int32) #

unsafeRead :: Ix i => IOUArray i Int32 -> Int -> IO Int32 #

unsafeWrite :: Ix i => IOUArray i Int32 -> Int -> Int32 -> IO () #

HasCode Diagnostic (Maybe (Int32 |? Text)) # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasVersion PublishDiagnosticsParams (Maybe Int32) # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasId CancelParams (Int32 |? Text) # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasId RequestMessage (Int32 |? Text) # 
Instance details

Defined in Language.LSP.Protocol.Message.Lens

HasId ResponseMessage (Int32 |? (Text |? Null)) # 
Instance details

Defined in Language.LSP.Protocol.Message.Lens

HasProcessId InitializeParams (Int32 |? Null) # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasProcessId UInitializeParams (Int32 |? Null) # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasVersion OptionalVersionedTextDocumentIdentifier (Int32 |? Null) # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasVersion WorkspaceFullDocumentDiagnosticReport (Int32 |? Null) # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

HasVersion WorkspaceUnchangedDocumentDiagnosticReport (Int32 |? Null) # 
Instance details

Defined in Language.LSP.Protocol.Types.Lens

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) #

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

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

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

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

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

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

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 MVector s Int32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

data Int64 #

64-bit signed integer type

Instances

Instances details
FromJSON Int64 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSONKey Int64 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

ToJSON Int64 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

ToJSONKey Int64 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

PrintfArg Int64 #

Since: base-2.1

Instance details

Defined in Text.Printf

Binary Int64 # 
Instance details

Defined in Data.Binary.Class

Methods

put :: Int64 -> Put #

get :: Get Int64 #

putList :: [Int64] -> Put #

ToMarkup Int64 # 
Instance details

Defined in Text.Blaze

ToValue Int64 # 
Instance details

Defined in Text.Blaze

NFData Int64 # 
Instance details

Defined in Control.DeepSeq

Methods

rnf :: Int64 -> () #

IsValue Int64 Source # 
Instance details

Defined in Futhark.IR.Prop.Constants

IsPrimValue Int64 Source # 
Instance details

Defined in Language.Futhark.Syntax

GetValue Int64 # 
Instance details

Defined in Futhark.Data

Methods

getValue :: Value -> Maybe Int64 #

PutValue Int64 # 
Instance details

Defined in Futhark.Data

Methods

putValue :: Int64 -> Maybe Value #

PutValue1 Int64 # 
Instance details

Defined in Futhark.Data

Methods

putValue1 :: Int64 -> Value #

Bits Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

FiniteBits Int64 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Int

Bounded Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Enum Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Storable Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Int64 -> Int #

alignment :: Int64 -> Int #

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

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

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

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

peek :: Ptr Int64 -> IO Int64 #

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

Ix Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Num Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Read Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Integral Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Real Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

toRational :: Int64 -> Rational #

Show Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

showsPrec :: Int -> Int64 -> ShowS #

show :: Int64 -> String #

showList :: [Int64] -> ShowS #

Eq Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

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

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

Ord Int64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

compare :: Int64 -> Int64 -> Ordering #

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

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

(>) :: Int64 -> Int64 -> Bool #

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

max :: Int64 -> Int64 -> Int64 #

min :: Int64 -> Int64 -> Int64 #

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 #

ToExp Int64 # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Int64 -> SrcLoc -> Exp #

Pretty Int64 # 
Instance details

Defined in Text.PrettyPrint.Mainland.Class

Methods

ppr :: Int64 -> Doc #

pprPrec :: Int -> Int64 -> Doc #

pprList :: [Int64] -> Doc #

Variate Int64 # 
Instance details

Defined in System.Random.MWC

Methods

uniform :: PrimMonad m => Gen (PrimState m) -> m Int64 #

uniformR :: PrimMonad m => (Int64, Int64) -> Gen (PrimState m) -> m Int64 #

Pretty Int64 # 
Instance details

Defined in Prettyprinter.Internal

Methods

pretty :: Int64 -> Doc ann #

prettyList :: [Int64] -> Doc ann #

Prim Int64 # 
Instance details

Defined in Data.Primitive.Types

Random Int64 # 
Instance details

Defined in System.Random

Methods

randomR :: RandomGen g => (Int64, Int64) -> g -> (Int64, g) #

random :: RandomGen g => g -> (Int64, g) #

randomRs :: RandomGen g => (Int64, Int64) -> g -> [Int64] #

randoms :: RandomGen g => g -> [Int64] #

Uniform Int64 # 
Instance details

Defined in System.Random.Internal

Methods

uniformM :: StatefulGen g m => g -> m Int64 #

UniformRange Int64 # 
Instance details

Defined in System.Random.Internal

Methods

uniformRM :: StatefulGen g m => (Int64, Int64) -> g -> m Int64 #

isInRange :: (Int64, Int64) -> Int64 -> Bool #

Ring Int64 # 
Instance details

Defined in Data.Semiring

Methods

negate :: Int64 -> Int64 #

Semiring Int64 # 
Instance details

Defined in Data.Semiring

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) #

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

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

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

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

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

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

IntExp Int64 Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

NumExp Int64 Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

MkTV Int64 Source # 
Instance details

Defined in Futhark.CodeGen.ImpGen

Lift Int64 # 
Instance details

Defined in GHC.Internal.TH.Lift

Methods

lift :: Quote m => Int64 -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Int64 -> Code m Int64 #

PrettyAnn ann Int64 #

Since: prettyprinter-1.7.2

Instance details

Defined in Prettyprinter.Internal

Methods

prettyAnn :: Int64 -> Doc ann #

prettyAnnList :: [Int64] -> Doc ann #

Vector Vector Int64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MVector MVector Int64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MArray IOUArray Int64 IO # 
Instance details

Defined in Data.Array.IO.Internals

Methods

getBounds :: Ix i => IOUArray i Int64 -> IO (i, i) #

getNumElements :: Ix i => IOUArray i Int64 -> IO Int #

newArray :: Ix i => (i, i) -> Int64 -> IO (IOUArray i Int64) #

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int64) #

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int64) #

unsafeRead :: Ix i => IOUArray i Int64 -> Int -> IO Int64 #

unsafeWrite :: Ix i => IOUArray i Int64 -> Int -> Int64 -> IO () #

Pretty (Shape Int64) Source # 
Instance details

Defined in Language.Futhark.Pretty

Methods

pretty :: Shape Int64 -> Doc ann #

prettyList :: [Shape Int64] -> Doc ann #

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) #

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

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

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

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

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

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

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 MVector s Int64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

data Int8 #

8-bit signed integer type

Instances

Instances details
FromJSON Int8 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSONKey Int8 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

ToJSON Int8 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

ToJSONKey Int8 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

PrintfArg Int8 #

Since: base-2.1

Instance details

Defined in Text.Printf

Binary Int8 # 
Instance details

Defined in Data.Binary.Class

Methods

put :: Int8 -> Put #

get :: Get Int8 #

putList :: [Int8] -> Put #

NFData Int8 # 
Instance details

Defined in Control.DeepSeq

Methods

rnf :: Int8 -> () #

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

GetValue Int8 # 
Instance details

Defined in Futhark.Data

Methods

getValue :: Value -> Maybe Int8 #

PutValue Int8 # 
Instance details

Defined in Futhark.Data

Methods

putValue :: Int8 -> Maybe Value #

PutValue1 Int8 # 
Instance details

Defined in Futhark.Data

Methods

putValue1 :: Int8 -> Value #

Bits Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

FiniteBits Int8 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Int

Bounded Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Enum Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

succ :: Int8 -> Int8 #

pred :: Int8 -> Int8 #

toEnum :: Int -> Int8 #

fromEnum :: Int8 -> Int #

enumFrom :: Int8 -> [Int8] #

enumFromThen :: Int8 -> Int8 -> [Int8] #

enumFromTo :: Int8 -> Int8 -> [Int8] #

enumFromThenTo :: Int8 -> Int8 -> Int8 -> [Int8] #

Storable Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Int8 -> Int #

alignment :: Int8 -> Int #

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

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

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

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

peek :: Ptr Int8 -> IO Int8 #

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

Ix Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

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

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

unsafeIndex :: (Int8, Int8) -> Int8 -> Int #

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

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

unsafeRangeSize :: (Int8, Int8) -> Int #

Num Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

(+) :: Int8 -> Int8 -> Int8 #

(-) :: Int8 -> Int8 -> Int8 #

(*) :: Int8 -> Int8 -> Int8 #

negate :: Int8 -> Int8 #

abs :: Int8 -> Int8 #

signum :: Int8 -> Int8 #

fromInteger :: Integer -> Int8 #

Read Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Integral Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

quot :: Int8 -> Int8 -> Int8 #

rem :: Int8 -> Int8 -> Int8 #

div :: Int8 -> Int8 -> Int8 #

mod :: Int8 -> Int8 -> Int8 #

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

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

toInteger :: Int8 -> Integer #

Real Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

toRational :: Int8 -> Rational #

Show Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

showsPrec :: Int -> Int8 -> ShowS #

show :: Int8 -> String #

showList :: [Int8] -> ShowS #

Eq Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

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

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

Ord Int8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Int

Methods

compare :: Int8 -> Int8 -> Ordering #

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

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

(>) :: Int8 -> Int8 -> Bool #

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

max :: Int8 -> Int8 -> Int8 #

min :: Int8 -> Int8 -> Int8 #

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 #

ToExp Int8 # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Int8 -> SrcLoc -> Exp #

Pretty Int8 # 
Instance details

Defined in Text.PrettyPrint.Mainland.Class

Methods

ppr :: Int8 -> Doc #

pprPrec :: Int -> Int8 -> Doc #

pprList :: [Int8] -> Doc #

Variate Int8 # 
Instance details

Defined in System.Random.MWC

Methods

uniform :: PrimMonad m => Gen (PrimState m) -> m Int8 #

uniformR :: PrimMonad m => (Int8, Int8) -> Gen (PrimState m) -> m Int8 #

Pretty Int8 # 
Instance details

Defined in Prettyprinter.Internal

Methods

pretty :: Int8 -> Doc ann #

prettyList :: [Int8] -> Doc ann #

Prim Int8 # 
Instance details

Defined in Data.Primitive.Types

Random Int8 # 
Instance details

Defined in System.Random

Methods

randomR :: RandomGen g => (Int8, Int8) -> g -> (Int8, g) #

random :: RandomGen g => g -> (Int8, g) #

randomRs :: RandomGen g => (Int8, Int8) -> g -> [Int8] #

randoms :: RandomGen g => g -> [Int8] #

Uniform Int8 # 
Instance details

Defined in System.Random.Internal

Methods

uniformM :: StatefulGen g m => g -> m Int8 #

UniformRange Int8 # 
Instance details

Defined in System.Random.Internal

Methods

uniformRM :: StatefulGen g m => (Int8, Int8) -> g -> m Int8 #

isInRange :: (Int8, Int8) -> Int8 -> Bool #

Ring Int8 # 
Instance details

Defined in Data.Semiring

Methods

negate :: Int8 -> Int8 #

Semiring Int8 # 
Instance details

Defined in Data.Semiring

Methods

plus :: Int8 -> Int8 -> Int8 #

zero :: Int8 #

times :: Int8 -> Int8 -> Int8 #

one :: Int8 #

fromNatural :: Natural -> Int8 #

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) #

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

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

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

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

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

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

IntExp Int8 Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

NumExp Int8 Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

MkTV Int8 Source # 
Instance details

Defined in Futhark.CodeGen.ImpGen

Lift Int8 # 
Instance details

Defined in GHC.Internal.TH.Lift

Methods

lift :: Quote m => Int8 -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Int8 -> Code m Int8 #

PrettyAnn ann Int8 #

Since: prettyprinter-1.7.2

Instance details

Defined in Prettyprinter.Internal

Methods

prettyAnn :: Int8 -> Doc ann #

prettyAnnList :: [Int8] -> Doc ann #

Vector Vector Int8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MVector MVector Int8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MArray IOUArray Int8 IO # 
Instance details

Defined in Data.Array.IO.Internals

Methods

getBounds :: Ix i => IOUArray i Int8 -> IO (i, i) #

getNumElements :: Ix i => IOUArray i Int8 -> IO Int #

newArray :: Ix i => (i, i) -> Int8 -> IO (IOUArray i Int8) #

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Int8) #

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Int8) #

unsafeRead :: Ix i => IOUArray i Int8 -> Int -> IO Int8 #

unsafeWrite :: Ix i => IOUArray i Int8 -> Int -> Int8 -> IO () #

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) #

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

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

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

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

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

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

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 MVector s Int8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Int8 = MV_Int8 (MVector s Int8)

data Word16 #

16-bit unsigned integer type

Instances

Instances details
FromJSON Word16 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSONKey Word16 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

ToJSON Word16 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

ToJSONKey Word16 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

PrintfArg Word16 #

Since: base-2.1

Instance details

Defined in Text.Printf

Binary Word16 # 
Instance details

Defined in Data.Binary.Class

Methods

put :: Word16 -> Put #

get :: Get Word16 #

putList :: [Word16] -> Put #

NFData Word16 # 
Instance details

Defined in Control.DeepSeq

Methods

rnf :: Word16 -> () #

IsValue Word16 Source # 
Instance details

Defined in Futhark.IR.Prop.Constants

IsPrimValue Word16 Source # 
Instance details

Defined in Language.Futhark.Syntax

GetValue Word16 # 
Instance details

Defined in Futhark.Data

Methods

getValue :: Value -> Maybe Word16 #

PutValue Word16 # 
Instance details

Defined in Futhark.Data

Methods

putValue :: Word16 -> Maybe Value #

PutValue1 Word16 # 
Instance details

Defined in Futhark.Data

Methods

putValue1 :: Word16 -> Value #

Bits Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

FiniteBits Word16 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Word

Bounded Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Storable Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Ix Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Num Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Read Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Read

Integral Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Real Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Show Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Eq Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

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

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

Ord Word16 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

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 #

ToExp Word16 # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Word16 -> SrcLoc -> Exp #

Pretty Word16 # 
Instance details

Defined in Text.PrettyPrint.Mainland.Class

Methods

ppr :: Word16 -> Doc #

pprPrec :: Int -> Word16 -> Doc #

pprList :: [Word16] -> Doc #

Variate Word16 # 
Instance details

Defined in System.Random.MWC

Methods

uniform :: PrimMonad m => Gen (PrimState m) -> m Word16 #

uniformR :: PrimMonad m => (Word16, Word16) -> Gen (PrimState m) -> m Word16 #

Pretty Word16 # 
Instance details

Defined in Prettyprinter.Internal

Methods

pretty :: Word16 -> Doc ann #

prettyList :: [Word16] -> Doc ann #

Prim Word16 # 
Instance details

Defined in Data.Primitive.Types

Random Word16 # 
Instance details

Defined in System.Random

Methods

randomR :: RandomGen g => (Word16, Word16) -> g -> (Word16, g) #

random :: RandomGen g => g -> (Word16, g) #

randomRs :: RandomGen g => (Word16, Word16) -> g -> [Word16] #

randoms :: RandomGen g => g -> [Word16] #

Uniform Word16 # 
Instance details

Defined in System.Random.Internal

Methods

uniformM :: StatefulGen g m => g -> m Word16 #

UniformRange Word16 # 
Instance details

Defined in System.Random.Internal

Methods

uniformRM :: StatefulGen g m => (Word16, Word16) -> g -> m Word16 #

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

Ring Word16 # 
Instance details

Defined in Data.Semiring

Methods

negate :: Word16 -> Word16 #

Semiring Word16 # 
Instance details

Defined in Data.Semiring

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) #

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

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

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

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

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

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

Lift Word16 # 
Instance details

Defined in GHC.Internal.TH.Lift

Methods

lift :: Quote m => Word16 -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Word16 -> Code m Word16 #

PrettyAnn ann Word16 #

Since: prettyprinter-1.7.2

Instance details

Defined in Prettyprinter.Internal

Methods

prettyAnn :: Word16 -> Doc ann #

prettyAnnList :: [Word16] -> Doc ann #

Vector Vector Word16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MVector MVector Word16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MArray IOUArray Word16 IO # 
Instance details

Defined in Data.Array.IO.Internals

Methods

getBounds :: Ix i => IOUArray i Word16 -> IO (i, i) #

getNumElements :: Ix i => IOUArray i Word16 -> IO Int #

newArray :: Ix i => (i, i) -> Word16 -> IO (IOUArray i Word16) #

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word16) #

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word16) #

unsafeRead :: Ix i => IOUArray i Word16 -> Int -> IO Word16 #

unsafeWrite :: Ix i => IOUArray i Word16 -> Int -> Word16 -> IO () #

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) #

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

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

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

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

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

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

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

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

data Word32 #

32-bit unsigned integer type

Instances

Instances details
FromJSON Word32 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSONKey Word32 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

ToJSON Word32 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

ToJSONKey Word32 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

PrintfArg Word32 #

Since: base-2.1

Instance details

Defined in Text.Printf

Binary Word32 # 
Instance details

Defined in Data.Binary.Class

Methods

put :: Word32 -> Put #

get :: Get Word32 #

putList :: [Word32] -> Put #

ToMarkup Word32 # 
Instance details

Defined in Text.Blaze

ToValue Word32 # 
Instance details

Defined in Text.Blaze

NFData Word32 # 
Instance details

Defined in Control.DeepSeq

Methods

rnf :: Word32 -> () #

IsValue Word32 Source # 
Instance details

Defined in Futhark.IR.Prop.Constants

IsPrimValue Word32 Source # 
Instance details

Defined in Language.Futhark.Syntax

GetValue Word32 # 
Instance details

Defined in Futhark.Data

Methods

getValue :: Value -> Maybe Word32 #

PutValue Word32 # 
Instance details

Defined in Futhark.Data

Methods

putValue :: Word32 -> Maybe Value #

PutValue1 Word32 # 
Instance details

Defined in Futhark.Data

Methods

putValue1 :: Word32 -> Value #

Bits Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

FiniteBits Word32 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Word

Bounded Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Storable Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Ix Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Num Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Read Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Read

Integral Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Real Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Show Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Eq Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

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

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

Ord Word32 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

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 #

ToExp Word32 # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Word32 -> SrcLoc -> Exp #

Pretty Word32 # 
Instance details

Defined in Text.PrettyPrint.Mainland.Class

Methods

ppr :: Word32 -> Doc #

pprPrec :: Int -> Word32 -> Doc #

pprList :: [Word32] -> Doc #

Variate Word32 # 
Instance details

Defined in System.Random.MWC

Methods

uniform :: PrimMonad m => Gen (PrimState m) -> m Word32 #

uniformR :: PrimMonad m => (Word32, Word32) -> Gen (PrimState m) -> m Word32 #

Pretty Word32 # 
Instance details

Defined in Prettyprinter.Internal

Methods

pretty :: Word32 -> Doc ann #

prettyList :: [Word32] -> Doc ann #

Prim Word32 # 
Instance details

Defined in Data.Primitive.Types

Random Word32 # 
Instance details

Defined in System.Random

Methods

randomR :: RandomGen g => (Word32, Word32) -> g -> (Word32, g) #

random :: RandomGen g => g -> (Word32, g) #

randomRs :: RandomGen g => (Word32, Word32) -> g -> [Word32] #

randoms :: RandomGen g => g -> [Word32] #

Uniform Word32 # 
Instance details

Defined in System.Random.Internal

Methods

uniformM :: StatefulGen g m => g -> m Word32 #

UniformRange Word32 # 
Instance details

Defined in System.Random.Internal

Methods

uniformRM :: StatefulGen g m => (Word32, Word32) -> g -> m Word32 #

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

Ring Word32 # 
Instance details

Defined in Data.Semiring

Methods

negate :: Word32 -> Word32 #

Semiring Word32 # 
Instance details

Defined in Data.Semiring

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) #

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

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

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

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

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

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

Lift Word32 # 
Instance details

Defined in GHC.Internal.TH.Lift

Methods

lift :: Quote m => Word32 -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Word32 -> Code m Word32 #

PrettyAnn ann Word32 #

Since: prettyprinter-1.7.2

Instance details

Defined in Prettyprinter.Internal

Methods

prettyAnn :: Word32 -> Doc ann #

prettyAnnList :: [Word32] -> Doc ann #

Vector Vector Word32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MVector MVector Word32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MArray IOUArray Word32 IO # 
Instance details

Defined in Data.Array.IO.Internals

Methods

getBounds :: Ix i => IOUArray i Word32 -> IO (i, i) #

getNumElements :: Ix i => IOUArray i Word32 -> IO Int #

newArray :: Ix i => (i, i) -> Word32 -> IO (IOUArray i Word32) #

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word32) #

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word32) #

unsafeRead :: Ix i => IOUArray i Word32 -> Int -> IO Word32 #

unsafeWrite :: Ix i => IOUArray i Word32 -> Int -> Word32 -> IO () #

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) #

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

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

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

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

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

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

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

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

data Word64 #

64-bit unsigned integer type

Instances

Instances details
FromJSON Word64 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSONKey Word64 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

ToJSON Word64 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

ToJSONKey Word64 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

PrintfArg Word64 #

Since: base-2.1

Instance details

Defined in Text.Printf

Binary Word64 # 
Instance details

Defined in Data.Binary.Class

Methods

put :: Word64 -> Put #

get :: Get Word64 #

putList :: [Word64] -> Put #

ToMarkup Word64 # 
Instance details

Defined in Text.Blaze

ToValue Word64 # 
Instance details

Defined in Text.Blaze

NFData Word64 # 
Instance details

Defined in Control.DeepSeq

Methods

rnf :: Word64 -> () #

IsValue Word64 Source # 
Instance details

Defined in Futhark.IR.Prop.Constants

IsPrimValue Word64 Source # 
Instance details

Defined in Language.Futhark.Syntax

GetValue Word64 # 
Instance details

Defined in Futhark.Data

Methods

getValue :: Value -> Maybe Word64 #

PutValue Word64 # 
Instance details

Defined in Futhark.Data

Methods

putValue :: Word64 -> Maybe Value #

PutValue1 Word64 # 
Instance details

Defined in Futhark.Data

Methods

putValue1 :: Word64 -> Value #

Bits Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

FiniteBits Word64 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Word

Bounded Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Storable Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Ix Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Num Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Read Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Read

Integral Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Real Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Show Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Eq Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

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

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

Ord Word64 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

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 #

ToExp Word64 # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Word64 -> SrcLoc -> Exp #

Pretty Word64 # 
Instance details

Defined in Text.PrettyPrint.Mainland.Class

Methods

ppr :: Word64 -> Doc #

pprPrec :: Int -> Word64 -> Doc #

pprList :: [Word64] -> Doc #

Variate Word64 # 
Instance details

Defined in System.Random.MWC

Methods

uniform :: PrimMonad m => Gen (PrimState m) -> m Word64 #

uniformR :: PrimMonad m => (Word64, Word64) -> Gen (PrimState m) -> m Word64 #

Pretty Word64 # 
Instance details

Defined in Prettyprinter.Internal

Methods

pretty :: Word64 -> Doc ann #

prettyList :: [Word64] -> Doc ann #

Prim Word64 # 
Instance details

Defined in Data.Primitive.Types

Random Word64 # 
Instance details

Defined in System.Random

Methods

randomR :: RandomGen g => (Word64, Word64) -> g -> (Word64, g) #

random :: RandomGen g => g -> (Word64, g) #

randomRs :: RandomGen g => (Word64, Word64) -> g -> [Word64] #

randoms :: RandomGen g => g -> [Word64] #

Uniform Word64 # 
Instance details

Defined in System.Random.Internal

Methods

uniformM :: StatefulGen g m => g -> m Word64 #

UniformRange Word64 # 
Instance details

Defined in System.Random.Internal

Methods

uniformRM :: StatefulGen g m => (Word64, Word64) -> g -> m Word64 #

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

Ring Word64 # 
Instance details

Defined in Data.Semiring

Methods

negate :: Word64 -> Word64 #

Semiring Word64 # 
Instance details

Defined in Data.Semiring

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) #

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

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

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

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

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

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

Lift Word64 # 
Instance details

Defined in GHC.Internal.TH.Lift

Methods

lift :: Quote m => Word64 -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Word64 -> Code m Word64 #

PrettyAnn ann Word64 #

Since: prettyprinter-1.7.2

Instance details

Defined in Prettyprinter.Internal

Methods

prettyAnn :: Word64 -> Doc ann #

prettyAnnList :: [Word64] -> Doc ann #

Vector Vector Word64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MVector MVector Word64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MArray IOUArray Word64 IO # 
Instance details

Defined in Data.Array.IO.Internals

Methods

getBounds :: Ix i => IOUArray i Word64 -> IO (i, i) #

getNumElements :: Ix i => IOUArray i Word64 -> IO Int #

newArray :: Ix i => (i, i) -> Word64 -> IO (IOUArray i Word64) #

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word64) #

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word64) #

unsafeRead :: Ix i => IOUArray i Word64 -> Int -> IO Word64 #

unsafeWrite :: Ix i => IOUArray i Word64 -> Int -> Word64 -> IO () #

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) #

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

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

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

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

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

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

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

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

data Word8 #

8-bit unsigned integer type

Instances

Instances details
FromJSON Word8 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

FromJSONKey Word8 # 
Instance details

Defined in Data.Aeson.Types.FromJSON

ToJSON Word8 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

ToJSONKey Word8 # 
Instance details

Defined in Data.Aeson.Types.ToJSON

PrintfArg Word8 #

Since: base-2.1

Instance details

Defined in Text.Printf

Binary Word8 # 
Instance details

Defined in Data.Binary.Class

Methods

put :: Word8 -> Put #

get :: Get Word8 #

putList :: [Word8] -> Put #

NFData Word8 # 
Instance details

Defined in Control.DeepSeq

Methods

rnf :: Word8 -> () #

IsValue Word8 Source # 
Instance details

Defined in Futhark.IR.Prop.Constants

IsPrimValue Word8 Source # 
Instance details

Defined in Language.Futhark.Syntax

GetValue Word8 # 
Instance details

Defined in Futhark.Data

Methods

getValue :: Value -> Maybe Word8 #

PutValue Word8 # 
Instance details

Defined in Futhark.Data

Methods

putValue :: Word8 -> Maybe Value #

PutValue1 Word8 # 
Instance details

Defined in Futhark.Data

Methods

putValue1 :: Word8 -> Value #

Bits Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

FiniteBits Word8 #

Since: base-4.6.0.0

Instance details

Defined in GHC.Internal.Word

Bounded Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Enum Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Storable Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Foreign.Storable

Methods

sizeOf :: Word8 -> Int #

alignment :: Word8 -> Int #

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

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

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

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

peek :: Ptr Word8 -> IO Word8 #

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

Ix Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Num Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Read Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Read

Integral Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Real Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

toRational :: Word8 -> Rational #

Show Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

showsPrec :: Int -> Word8 -> ShowS #

show :: Word8 -> String #

showList :: [Word8] -> ShowS #

Eq Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

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

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

Ord Word8 #

Since: base-2.1

Instance details

Defined in GHC.Internal.Word

Methods

compare :: Word8 -> Word8 -> Ordering #

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

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

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

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

max :: Word8 -> Word8 -> Word8 #

min :: Word8 -> Word8 -> Word8 #

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 #

ToExp Word8 # 
Instance details

Defined in Language.C.Quote.Base

Methods

toExp :: Word8 -> SrcLoc -> Exp #

Pretty Word8 # 
Instance details

Defined in Text.PrettyPrint.Mainland.Class

Methods

ppr :: Word8 -> Doc #

pprPrec :: Int -> Word8 -> Doc #

pprList :: [Word8] -> Doc #

Variate Word8 # 
Instance details

Defined in System.Random.MWC

Methods

uniform :: PrimMonad m => Gen (PrimState m) -> m Word8 #

uniformR :: PrimMonad m => (Word8, Word8) -> Gen (PrimState m) -> m Word8 #

Pretty Word8 # 
Instance details

Defined in Prettyprinter.Internal

Methods

pretty :: Word8 -> Doc ann #

prettyList :: [Word8] -> Doc ann #

Prim Word8 # 
Instance details

Defined in Data.Primitive.Types

Dot Word8 # 
Instance details

Defined in System.Process.Run

Methods

dot :: Word8

Random Word8 # 
Instance details

Defined in System.Random

Methods

randomR :: RandomGen g => (Word8, Word8) -> g -> (Word8, g) #

random :: RandomGen g => g -> (Word8, g) #

randomRs :: RandomGen g => (Word8, Word8) -> g -> [Word8] #

randoms :: RandomGen g => g -> [Word8] #

Uniform Word8 # 
Instance details

Defined in System.Random.Internal

Methods

uniformM :: StatefulGen g m => g -> m Word8 #

UniformRange Word8 # 
Instance details

Defined in System.Random.Internal

Methods

uniformRM :: StatefulGen g m => (Word8, Word8) -> g -> m Word8 #

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

Ring Word8 # 
Instance details

Defined in Data.Semiring

Methods

negate :: Word8 -> Word8 #

Semiring Word8 # 
Instance details

Defined in Data.Semiring

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

ListLike ByteString Word8 # 
Instance details

Defined in Data.ListLike.Instances

Methods

empty :: ByteString #

singleton :: Word8 -> ByteString #

cons :: Word8 -> ByteString -> ByteString #

snoc :: ByteString -> Word8 -> ByteString #

append :: ByteString -> ByteString -> ByteString #

head :: ByteString -> Word8 #

uncons :: ByteString -> Maybe (Word8, ByteString) #

last :: ByteString -> Word8 #

tail :: ByteString -> ByteString #

init :: ByteString -> ByteString #

null :: ByteString -> Bool #

length :: ByteString -> Int #

map :: ListLike full' item' => (Word8 -> item') -> ByteString -> full' #

rigidMap :: (Word8 -> Word8) -> ByteString -> ByteString #

reverse :: ByteString -> ByteString #

intersperse :: Word8 -> ByteString -> ByteString #

concat :: ListLike full' ByteString => full' -> ByteString #

concatMap :: ListLike full' item' => (Word8 -> full') -> ByteString -> full' #

rigidConcatMap :: (Word8 -> ByteString) -> ByteString -> ByteString #

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

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

maximum :: ByteString -> Word8 #

minimum :: ByteString -> Word8 #

replicate :: Int -> Word8 -> ByteString #

take :: Int -> ByteString -> ByteString #

drop :: Int -> ByteString -> ByteString #

splitAt :: Int -> ByteString -> (ByteString, ByteString) #

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

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

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

span :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) #

break :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) #

group :: (ListLike full' ByteString, Eq Word8) => ByteString -> full' #

inits :: ListLike full' ByteString => ByteString -> full' #

tails :: ListLike full' ByteString => ByteString -> full' #

isPrefixOf :: ByteString -> ByteString -> Bool #

isSuffixOf :: ByteString -> ByteString -> Bool #

isInfixOf :: ByteString -> ByteString -> Bool #

stripPrefix :: ByteString -> ByteString -> Maybe ByteString #

stripSuffix :: ByteString -> ByteString -> Maybe ByteString #

elem :: Word8 -> ByteString -> Bool #

notElem :: Word8 -> ByteString -> Bool #

find :: (Word8 -> Bool) -> ByteString -> Maybe Word8 #

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

partition :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) #

index :: ByteString -> Int -> Word8 #

elemIndex :: Word8 -> ByteString -> Maybe Int #

elemIndices :: (Eq Word8, ListLike result Int) => Word8 -> ByteString -> result #

findIndex :: (Word8 -> Bool) -> ByteString -> Maybe Int #

findIndices :: ListLike result Int => (Word8 -> Bool) -> ByteString -> result #

sequence :: (Applicative m, ListLike fullinp (m Word8)) => fullinp -> m ByteString #

mapM :: (Applicative m, ListLike full' item') => (Word8 -> m item') -> ByteString -> m full' #

rigidMapM :: Monad m => (Word8 -> m Word8) -> ByteString -> m ByteString #

nub :: ByteString -> ByteString #

delete :: Word8 -> ByteString -> ByteString #

deleteFirsts :: ByteString -> ByteString -> ByteString #

union :: ByteString -> ByteString -> ByteString #

intersect :: ByteString -> ByteString -> ByteString #

sort :: ByteString -> ByteString #

insert :: Word8 -> ByteString -> ByteString #

toList' :: ByteString -> [Word8] #

fromList' :: [Word8] -> ByteString #

fromListLike :: ListLike full' Word8 => ByteString -> full' #

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

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

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

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

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

groupBy :: (ListLike full' ByteString, Eq Word8) => (Word8 -> Word8 -> Bool) -> ByteString -> full' #

sortBy :: (Word8 -> Word8 -> Ordering) -> ByteString -> ByteString #

insertBy :: (Word8 -> Word8 -> Ordering) -> Word8 -> ByteString -> ByteString #

genericLength :: Num a => ByteString -> a #

genericTake :: Integral a => a -> ByteString -> ByteString #

genericDrop :: Integral a => a -> ByteString -> ByteString #

genericSplitAt :: Integral a => a -> ByteString -> (ByteString, ByteString) #

genericReplicate :: Integral a => a -> Word8 -> ByteString #

ListLike ByteString Word8 # 
Instance details

Defined in Data.ListLike.Instances

Methods

empty :: ByteString #

singleton :: Word8 -> ByteString #

cons :: Word8 -> ByteString -> ByteString #

snoc :: ByteString -> Word8 -> ByteString #

append :: ByteString -> ByteString -> ByteString #

head :: ByteString -> Word8 #

uncons :: ByteString -> Maybe (Word8, ByteString) #

last :: ByteString -> Word8 #

tail :: ByteString -> ByteString #

init :: ByteString -> ByteString #

null :: ByteString -> Bool #

length :: ByteString -> Int #

map :: ListLike full' item' => (Word8 -> item') -> ByteString -> full' #

rigidMap :: (Word8 -> Word8) -> ByteString -> ByteString #

reverse :: ByteString -> ByteString #

intersperse :: Word8 -> ByteString -> ByteString #

concat :: ListLike full' ByteString => full' -> ByteString #

concatMap :: ListLike full' item' => (Word8 -> full') -> ByteString -> full' #

rigidConcatMap :: (Word8 -> ByteString) -> ByteString -> ByteString #

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

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

maximum :: ByteString -> Word8 #

minimum :: ByteString -> Word8 #

replicate :: Int -> Word8 -> ByteString #

take :: Int -> ByteString -> ByteString #

drop :: Int -> ByteString -> ByteString #

splitAt :: Int -> ByteString -> (ByteString, ByteString) #

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

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

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

span :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) #

break :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) #

group :: (ListLike full' ByteString, Eq Word8) => ByteString -> full' #

inits :: ListLike full' ByteString => ByteString -> full' #

tails :: ListLike full' ByteString => ByteString -> full' #

isPrefixOf :: ByteString -> ByteString -> Bool #

isSuffixOf :: ByteString -> ByteString -> Bool #

isInfixOf :: ByteString -> ByteString -> Bool #

stripPrefix :: ByteString -> ByteString -> Maybe ByteString #

stripSuffix :: ByteString -> ByteString -> Maybe ByteString #

elem :: Word8 -> ByteString -> Bool #

notElem :: Word8 -> ByteString -> Bool #

find :: (Word8 -> Bool) -> ByteString -> Maybe Word8 #

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

partition :: (Word8 -> Bool) -> ByteString -> (ByteString, ByteString) #

index :: ByteString -> Int -> Word8 #

elemIndex :: Word8 -> ByteString -> Maybe Int #

elemIndices :: (Eq Word8, ListLike result Int) => Word8 -> ByteString -> result #

findIndex :: (Word8 -> Bool) -> ByteString -> Maybe Int #

findIndices :: ListLike result Int => (Word8 -> Bool) -> ByteString -> result #

sequence :: (Applicative m, ListLike fullinp (m Word8)) => fullinp -> m ByteString #

mapM :: (Applicative m, ListLike full' item') => (Word8 -> m item') -> ByteString -> m full' #

rigidMapM :: Monad m => (Word8 -> m Word8) -> ByteString -> m ByteString #

nub :: ByteString -> ByteString #

delete :: Word8 -> ByteString -> ByteString #

deleteFirsts :: ByteString -> ByteString -> ByteString #

union :: ByteString -> ByteString -> ByteString #

intersect :: ByteString -> ByteString -> ByteString #

sort :: ByteString -> ByteString #

insert :: Word8 -> ByteString -> ByteString #

toList' :: ByteString -> [Word8] #

fromList' :: [Word8] -> ByteString #

fromListLike :: ListLike full' Word8 => ByteString -> full' #

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

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

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

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

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

groupBy :: (ListLike full' ByteString, Eq Word8) => (Word8 -> Word8 -> Bool) -> ByteString -> full' #

sortBy :: (Word8 -> Word8 -> Ordering) -> ByteString -> ByteString #

insertBy :: (Word8 -> Word8 -> Ordering) -> Word8 -> ByteString -> ByteString #

genericLength :: Num a => ByteString -> a #

genericTake :: Integral a => a -> ByteString -> ByteString #

genericDrop :: Integral a => a -> ByteString -> ByteString #

genericSplitAt :: Integral a => a -> ByteString -> (ByteString, ByteString) #

genericReplicate :: Integral a => a -> Word8 -> ByteString #

FoldableLL ByteString Word8 # 
Instance details

Defined in Data.ListLike.Instances

Methods

foldl :: (a -> Word8 -> a) -> a -> ByteString -> a #

foldl' :: (a -> Word8 -> a) -> a -> ByteString -> a #

foldl1 :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 #

foldr :: (Word8 -> b -> b) -> b -> ByteString -> b #

foldr' :: (Word8 -> b -> b) -> b -> ByteString -> b #

foldr1 :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 #

FoldableLL ByteString Word8 # 
Instance details

Defined in Data.ListLike.Instances

Methods

foldl :: (a -> Word8 -> a) -> a -> ByteString -> a #

foldl' :: (a -> Word8 -> a) -> a -> ByteString -> a #

foldl1 :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 #

foldr :: (Word8 -> b -> b) -> b -> ByteString -> b #

foldr' :: (Word8 -> b -> b) -> b -> ByteString -> b #

foldr1 :: (Word8 -> Word8 -> Word8) -> ByteString -> Word8 #

ListLikeIO ByteString Word8 # 
Instance details

Defined in Data.ListLike.Instances

ListLikeIO ByteString Word8 # 
Instance details

Defined in Data.ListLike.Instances

IArray UArray Word8 # 
Instance details

Defined in Data.Array.Base

Methods

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

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

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

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

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

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

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

Lift Word8 # 
Instance details

Defined in GHC.Internal.TH.Lift

Methods

lift :: Quote m => Word8 -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Word8 -> Code m Word8 #

PrettyAnn ann Word8 #

Since: prettyprinter-1.7.2

Instance details

Defined in Prettyprinter.Internal

Methods

prettyAnn :: Word8 -> Doc ann #

prettyAnnList :: [Word8] -> Doc ann #

ListLikeProcessIO ByteString Word8 #

Like readProcessWithExitCode, but using ByteString

Instance details

Defined in System.Process.ByteString

ProcessText ByteString Word8 # 
Instance details

Defined in System.Process.ByteString

Vector Vector Word8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MVector MVector Word8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

MArray IOUArray Word8 IO # 
Instance details

Defined in Data.Array.IO.Internals

Methods

getBounds :: Ix i => IOUArray i Word8 -> IO (i, i) #

getNumElements :: Ix i => IOUArray i Word8 -> IO Int #

newArray :: Ix i => (i, i) -> Word8 -> IO (IOUArray i Word8) #

newArray_ :: Ix i => (i, i) -> IO (IOUArray i Word8) #

unsafeNewArray_ :: Ix i => (i, i) -> IO (IOUArray i Word8) #

unsafeRead :: Ix i => IOUArray i Word8 -> Int -> IO Word8 #

unsafeWrite :: Ix i => IOUArray i Word8 -> Int -> Word8 -> IO () #

(MonadIO m, MonadState (RunState ByteString) m) => RunM ByteString Word8 m # 
Instance details

Defined in System.Process.Run

(MonadIO m, MonadState (RunState ByteString) m) => RunM ByteString Word8 m # 
Instance details

Defined in System.Process.Run

Cons ByteString ByteString Word8 Word8 # 
Instance details

Defined in Control.Lens.Cons

Cons ByteString ByteString Word8 Word8 # 
Instance details

Defined in Control.Lens.Cons

Snoc ByteString ByteString Word8 Word8 # 
Instance details

Defined in Control.Lens.Cons

Snoc ByteString ByteString Word8 Word8 # 
Instance details

Defined in Control.Lens.Cons

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) #

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

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

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

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

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

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

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

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

data Half #

A half-precision floating point value

Instances

Instances details
Binary Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

put :: Half -> Put #

get :: Get Half #

putList :: [Half] -> Put #

NFData Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

rnf :: Half -> () #

GetValue Half # 
Instance details

Defined in Futhark.Data

Methods

getValue :: Value -> Maybe Half #

PutValue Half # 
Instance details

Defined in Futhark.Data

Methods

putValue :: Half -> Maybe Value #

PutValue1 Half # 
Instance details

Defined in Futhark.Data

Methods

putValue1 :: Half -> Value #

Floating Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

pi :: Half #

exp :: Half -> Half #

log :: Half -> Half #

sqrt :: Half -> Half #

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

logBase :: Half -> Half -> Half #

sin :: Half -> Half #

cos :: Half -> Half #

tan :: Half -> Half #

asin :: Half -> Half #

acos :: Half -> Half #

atan :: Half -> Half #

sinh :: Half -> Half #

cosh :: Half -> Half #

tanh :: Half -> Half #

asinh :: Half -> Half #

acosh :: Half -> Half #

atanh :: Half -> Half #

log1p :: Half -> Half #

expm1 :: Half -> Half #

log1pexp :: Half -> Half #

log1mexp :: Half -> Half #

RealFloat Half # 
Instance details

Defined in Numeric.Half.Internal

Storable Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

sizeOf :: Half -> Int #

alignment :: Half -> Int #

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

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

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

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

peek :: Ptr Half -> IO Half #

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

Generic Half # 
Instance details

Defined in Numeric.Half.Internal

Associated Types

type Rep Half 
Instance details

Defined in Numeric.Half.Internal

type Rep Half = D1 ('MetaData "Half" "Numeric.Half.Internal" "half-0.3.3-7b6915f8b6a25ae59c62b1df090dca43225bc9181d07841dd6a9c45c95de757d" 'True) (C1 ('MetaCons "Half" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHalf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CUShort)))

Methods

from :: Half -> Rep Half x #

to :: Rep Half x -> Half #

Num Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

(+) :: Half -> Half -> Half #

(-) :: Half -> Half -> Half #

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

negate :: Half -> Half #

abs :: Half -> Half #

signum :: Half -> Half #

fromInteger :: Integer -> Half #

Read Half # 
Instance details

Defined in Numeric.Half.Internal

Fractional Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

(/) :: Half -> Half -> Half #

recip :: Half -> Half #

fromRational :: Rational -> Half #

Real Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

toRational :: Half -> Rational #

RealFrac Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

properFraction :: Integral b => Half -> (b, Half) #

truncate :: Integral b => Half -> b #

round :: Integral b => Half -> b #

ceiling :: Integral b => Half -> b #

floor :: Integral b => Half -> b #

Show Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

showsPrec :: Int -> Half -> ShowS #

show :: Half -> String #

showList :: [Half] -> ShowS #

Eq Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

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

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

Ord Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

compare :: Half -> Half -> Ordering #

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

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

(>) :: Half -> Half -> Bool #

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

max :: Half -> Half -> Half #

min :: Half -> Half -> Half #

Pretty Half Source # 
Instance details

Defined in Futhark.Util.Pretty

Methods

pretty :: Half -> Doc ann #

prettyList :: [Half] -> Doc ann #

UniformRange Half Source # 
Instance details

Defined in Futhark.Test.Values

Methods

uniformRM :: StatefulGen g m => (Half, Half) -> g -> m Half #

isInRange :: (Half, Half) -> Half -> Bool #

FloatExp Half Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

NumExp Half Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

MkTV Half Source # 
Instance details

Defined in Futhark.CodeGen.ImpGen

Lift Half # 
Instance details

Defined in Numeric.Half.Internal

Methods

lift :: Quote m => Half -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => Half -> Code m Half #

Pretty v => Floating (TPrimExp Half v) Source # 
Instance details

Defined in Futhark.Analysis.PrimExp

type Rep Half # 
Instance details

Defined in Numeric.Half.Internal

type Rep Half = D1 ('MetaData "Half" "Numeric.Half.Internal" "half-0.3.3-7b6915f8b6a25ae59c62b1df090dca43225bc9181d07841dd6a9c45c95de757d" 'True) (C1 ('MetaCons "Half" 'PrefixI 'True) (S1 ('MetaSel ('Just "getHalf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 CUShort)))

Values

data IntValue Source #

An integer value.

Instances

Instances details
IsValue IntValue Source # 
Instance details

Defined in Futhark.IR.Prop.Constants

Show IntValue Source # 
Instance details

Defined in Language.Futhark.Primitive

Eq IntValue Source # 
Instance details

Defined in Language.Futhark.Primitive

Ord IntValue Source # 
Instance details

Defined in Language.Futhark.Primitive

ToExp IntValue Source # 
Instance details

Defined in Futhark.CodeGen.Backends.SimpleRep

Methods

toExp :: IntValue -> SrcLoc -> Exp #

Pretty IntValue Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

pretty :: IntValue -> Doc ann #

prettyList :: [IntValue] -> Doc ann #

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.

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
IsValue PrimValue Source # 
Instance details

Defined in Futhark.IR.Prop.Constants

Show PrimValue Source # 
Instance details

Defined in Language.Futhark.Primitive

Eq PrimValue Source # 
Instance details

Defined in Language.Futhark.Primitive

Ord PrimValue Source # 
Instance details

Defined in Language.Futhark.Primitive

ToExp PrimValue Source # 
Instance details

Defined in Futhark.CodeGen.Backends.SimpleRep

Methods

toExp :: PrimValue -> SrcLoc -> Exp #

Pretty PrimValue Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

pretty :: PrimValue -> Doc ann #

prettyList :: [PrimValue] -> Doc ann #

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.

Instances

Instances details
Show Overflow Source # 
Instance details

Defined in Language.Futhark.Primitive

Eq Overflow Source # 
Instance details

Defined in Language.Futhark.Primitive

Ord Overflow Source # 
Instance details

Defined in Language.Futhark.Primitive

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

Eq Safety Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

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

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

Ord Safety Source # 
Instance details

Defined in Language.Futhark.Primitive

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 #

show :: UnOp -> String #

showList :: [UnOp] -> ShowS #

Eq UnOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

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

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

Ord UnOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

compare :: UnOp -> UnOp -> Ordering #

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

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

(>) :: UnOp -> UnOp -> Bool #

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

max :: UnOp -> UnOp -> UnOp #

min :: UnOp -> UnOp -> UnOp #

Pretty UnOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

pretty :: UnOp -> Doc ann #

prettyList :: [UnOp] -> Doc ann #

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 negative infinity. Note: this is different from LLVM.

UCeilDiv IntType Safety

Unsigned integer division. Rounds towards positive infinity.

SDiv IntType Safety

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

SCeilDiv 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 #

show :: BinOp -> String #

showList :: [BinOp] -> ShowS #

Eq BinOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

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

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

Ord BinOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

compare :: BinOp -> BinOp -> Ordering #

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

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

(>) :: BinOp -> BinOp -> Bool #

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

max :: BinOp -> BinOp -> BinOp #

min :: BinOp -> BinOp -> BinOp #

Pretty BinOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

pretty :: BinOp -> Doc ann #

prettyList :: [BinOp] -> Doc ann #

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

Eq ConvOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

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

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

Ord ConvOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Pretty ConvOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

pretty :: ConvOp -> Doc ann #

prettyList :: [ConvOp] -> Doc ann #

allConvOps :: [ConvOp] Source #

A list of all conversion operators for all types.

data CmpOp Source #

Comparison operators are like BinOps, 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 #

show :: CmpOp -> String #

showList :: [CmpOp] -> ShowS #

Eq CmpOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

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

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

Ord CmpOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

compare :: CmpOp -> CmpOp -> Ordering #

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

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

(>) :: CmpOp -> CmpOp -> Bool #

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

max :: CmpOp -> CmpOp -> CmpOp #

min :: CmpOp -> CmpOp -> CmpOp #

Pretty CmpOp Source # 
Instance details

Defined in Language.Futhark.Primitive

Methods

pretty :: CmpOp -> Doc ann #

prettyList :: [CmpOp] -> Doc ann #

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 negative 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.