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

LLVM.Extra.Multi.Vector.Instance

Documentation

type MVVector n a = T (Vector n a) Source #

liftMultiValueM :: Functor f => (T n a -> f (T m b)) -> MVVector n a -> f (MVVector m b) Source #

liftMultiValueM2 :: Functor f => (T n a -> T m b -> f (T k c)) -> MVVector n a -> MVVector m b -> f (MVVector k c) Source #

liftMultiValueM3 :: Functor f => (T n a -> T m b -> T m c -> f (T k d)) -> MVVector n a -> MVVector m b -> MVVector m c -> f (MVVector k d) Source #

Orphan instances

(Positive n, Additive a) => Additive (Vector n a) Source # 
Instance details

Methods

add :: T (Vector n a) -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

sub :: T (Vector n a) -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

neg :: T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

(Positive n, BitShift a) => BitShift (Vector n a) Source # 
Instance details

Methods

shl :: T (Vector n a) -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

shr :: T (Vector n a) -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

(Positive n, C a) => C (Vector n a) Source # 
Instance details

Associated Types

type Repr (Vector n a) Source #

Methods

cons :: Vector n a -> T (Vector n a) Source #

undef :: T (Vector n a) Source #

zero :: T (Vector n a) Source #

phi :: BasicBlock -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

addPhi :: BasicBlock -> T (Vector n a) -> T (Vector n a) -> CodeGenFunction r () Source #

(Positive n, Fraction a) => Fraction (Vector n a) Source # 
Instance details

Methods

truncate :: T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

fraction :: T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

(Positive n, IntegerConstant a) => IntegerConstant (Vector n a) Source # 
Instance details

Methods

fromInteger' :: Integer -> T (Vector n a) Source #

(Positive n, Logic a) => Logic (Vector n a) Source # 
Instance details

Methods

and :: T (Vector n a) -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

or :: T (Vector n a) -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

xor :: T (Vector n a) -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

inv :: T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

(Positive n, PseudoRing a) => PseudoRing (Vector n a) Source # 
Instance details

Methods

mul :: T (Vector n a) -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

(Positive n, RationalConstant a) => RationalConstant (Vector n a) Source # 
Instance details

Methods

fromRational' :: Rational -> T (Vector n a) Source #

(Positive n, Real a) => Real (Vector n a) Source # 
Instance details

Methods

min :: T (Vector n a) -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

max :: T (Vector n a) -> T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

abs :: T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #

signum :: T (Vector n a) -> CodeGenFunction r (T (Vector n a)) Source #