llvm-extra-0.12.1: Utility functions for the llvm interface
Safe HaskellSafe-Inferred
LanguageHaskell98

LLVM.Extra.Nice.Value.Vector

Documentation

cons :: (Positive n, C a) => Vector n a -> NVVector n a Source #

fst :: NVVector n (a, b) -> NVVector n a Source #

snd :: NVVector n (a, b) -> NVVector n b Source #

fst3 :: NVVector n (a, b, c) -> NVVector n a Source #

snd3 :: NVVector n (a, b, c) -> NVVector n b Source #

thd3 :: NVVector n (a, b, c) -> NVVector n c Source #

zip :: NVVector n a -> NVVector n b -> NVVector n (a, b) Source #

zip3 :: NVVector n a -> NVVector n b -> NVVector n c -> NVVector n (a, b, c) Source #

unzip :: NVVector n (a, b) -> (NVVector n a, NVVector n b) Source #

unzip3 :: NVVector n (a, b, c) -> (NVVector n a, NVVector n b, NVVector n c) Source #

swap :: NVVector n (a, b) -> NVVector n (b, a) Source #

mapFst :: (NVVector n a0 -> NVVector n a1) -> NVVector n (a0, b) -> NVVector n (a1, b) Source #

mapSnd :: (NVVector n b0 -> NVVector n b1) -> NVVector n (a, b0) -> NVVector n (a, b1) Source #

mapFst3 :: (NVVector n a0 -> NVVector n a1) -> NVVector n (a0, b, c) -> NVVector n (a1, b, c) Source #

mapSnd3 :: (NVVector n b0 -> NVVector n b1) -> NVVector n (a, b0, c) -> NVVector n (a, b1, c) Source #

mapThd3 :: (NVVector n c0 -> NVVector n c1) -> NVVector n (a, b, c0) -> NVVector n (a, b, c1) Source #

insert :: (Positive n, C a) => Value Word32 -> T a -> NVVector n a -> CodeGenFunction r (NVVector n a) Source #

replicate :: (Positive n, C a) => T a -> CodeGenFunction r (NVVector n a) Source #

iterate :: (Positive n, C a) => (T a -> CodeGenFunction r (T a)) -> T a -> CodeGenFunction r (NVVector n a) Source #

dissect :: (Positive n, C a) => NVVector n a -> CodeGenFunction r [T a] Source #

dissect1 :: (Positive n, C a) => NVVector n a -> CodeGenFunction r (T [] (T a)) Source #

class (Repr i ~ Value ir, CmpRet ir, IsInteger ir, IntegerConstant ir) => NativeInteger i ir Source #

Instances

Instances details
NativeInteger Int16 Int16 Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

NativeInteger Int32 Int32 Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

NativeInteger Int64 Int64 Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

NativeInteger Int8 Int8 Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

NativeInteger Word16 Word16 Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

NativeInteger Word32 Word32 Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

NativeInteger Word64 Word64 Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

NativeInteger Word8 Word8 Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

NativeInteger Int Int Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

NativeInteger Word Word Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

(Positive n, n ~ m, NativeInteger n i ir, NativeInteger i ir) => NativeInteger (Vector n i) (Vector m ir) Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

class (Repr a ~ Value ar, CmpRet ar, RationalConstant ar, IsFloating ar) => NativeFloating a ar Source #

Instances

Instances details
NativeFloating Double Double Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

NativeFloating Float Float Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

(Positive n, n ~ m, NativeFloating n a ar, NativeFloating a ar) => NativeFloating (Vector n a) (Vector m ar) Source # 
Instance details

Defined in LLVM.Extra.Nice.Value.Vector

fromIntegral :: (NativeInteger i ir, NativeFloating a ar, ShapeOf ir ~ ShapeOf ar) => T i -> CodeGenFunction r (T a) Source #

truncateToInt :: (NativeInteger i ir, NativeFloating a ar, ShapeOf ir ~ ShapeOf ar) => T a -> CodeGenFunction r (T i) Source #

splitFractionToInt :: (NativeInteger i ir, NativeFloating a ar, ShapeOf ir ~ ShapeOf ar) => T a -> CodeGenFunction r (T (i, a)) Source #