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

LLVM.Extra.Nice.Vector.Instance

Documentation

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

toNiceValue :: T n a -> NVVector n a Source #

liftNiceValueM :: Functor f => (T n a -> f (T m b)) -> NVVector n a -> f (NVVector m b) Source #

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

liftNiceValueM3 :: Functor f => (T n a -> T m b -> T m c -> f (T k d)) -> NVVector n a -> NVVector m b -> NVVector m c -> f (NVVector 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 #