synthesizer-llvm-1.1.0.1: Efficient signal processing using runtime compilation

Safe HaskellNone
LanguageHaskell98

Synthesizer.LLVM.Frame.SerialVector.Code

Documentation

newtype T n a Source #

Constructors

Cons (Vector n a) 
Instances
(Eq a, Positive n) => Eq (T n a) Source # 
Instance details

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

(==) :: T n a -> T n a -> Bool #

(/=) :: T n a -> T n a -> Bool #

(Num a, Positive n) => Num (T n a) Source # 
Instance details

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

(+) :: T n a -> T n a -> T n a #

(-) :: T n a -> T n a -> T n a #

(*) :: T n a -> T n a -> T n a #

negate :: T n a -> T n a #

abs :: T n a -> T n a #

signum :: T n a -> T n a #

fromInteger :: Integer -> T n a #

(Positive n, Storable a) => Storable (T n a) Source # 
Instance details

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

sizeOf :: T n a -> Int #

alignment :: T n a -> Int #

peekElemOff :: Ptr (T n a) -> Int -> IO (T n a) #

pokeElemOff :: Ptr (T n a) -> Int -> T n a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (T n a) #

pokeByteOff :: Ptr b -> Int -> T n a -> IO () #

peek :: Ptr (T n a) -> IO (T n a) #

poke :: Ptr (T n a) -> T n a -> IO () #

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

pack :: T n a -> Struct (T n a)

unpack :: Struct (T n a) -> T n a

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Associated Types

type Repr (T n a) :: Type

Methods

cons :: T n a -> T0 (T n a)

undef :: T0 (T n a)

zero :: T0 (T n a)

phi :: BasicBlock -> T0 (T n a) -> CodeGenFunction r (T0 (T n a))

addPhi :: BasicBlock -> T0 (T n a) -> T0 (T n a) -> CodeGenFunction r ()

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

add :: T0 (T n a) -> T0 (T n a) -> CodeGenFunction r (T0 (T n a))

sub :: T0 (T n a) -> T0 (T n a) -> CodeGenFunction r (T0 (T n a))

neg :: T0 (T n a) -> CodeGenFunction r (T0 (T n a))

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

truncate :: T0 (T n a) -> CodeGenFunction r (T0 (T n a))

fraction :: T0 (T n a) -> CodeGenFunction r (T0 (T n a))

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

min :: T0 (T n a) -> T0 (T n a) -> CodeGenFunction r (T0 (T n a))

max :: T0 (T n a) -> T0 (T n a) -> CodeGenFunction r (T0 (T n a))

abs :: T0 (T n a) -> CodeGenFunction r (T0 (T n a))

signum :: T0 (T n a) -> CodeGenFunction r (T0 (T n a))

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

fromInteger' :: Integer -> T0 (T n a)

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

mul :: T0 (T n a) -> T0 (T n a) -> CodeGenFunction r (T0 (T n a))

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

fromRational' :: Rational -> T0 (T n a)

(Positive n, Algebraic a) => Algebraic (T n a) Source # 
Instance details

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

sqrt :: T0 (T n a) -> CodeGenFunction r (T0 (T n a))

(Positive n, Field a) => Field (T n a) Source # 
Instance details

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

fdiv :: T0 (T n a) -> T0 (T n a) -> CodeGenFunction r (T0 (T n a))

(Positive n, Transcendental a) => Transcendental (T n a) Source # 
Instance details

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

pi :: CodeGenFunction r (T0 (T n a))

sin :: T0 (T n a) -> CodeGenFunction r (T0 (T n a))

cos :: T0 (T n a) -> CodeGenFunction r (T0 (T n a))

exp :: T0 (T n a) -> CodeGenFunction r (T0 (T n a))

log :: T0 (T n a) -> CodeGenFunction r (T0 (T n a))

pow :: T0 (T n a) -> T0 (T n a) -> CodeGenFunction r (T0 (T n a))

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

Methods

load :: Value (Ptr (T n a)) -> CodeGenFunction r (T0 (T n a))

store :: T0 (T n a) -> Value (Ptr (T n a)) -> CodeGenFunction r ()

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

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

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

type Repr (T n a) Source # 
Instance details

Defined in Synthesizer.LLVM.Frame.SerialVector.Code

type Repr (T n a) = Repr n a

type Value n a = T (T n a) Source #

size :: (Positive n, Integral i) => Value n a -> i Source #

fromOrdinary :: T (Vector n a) -> Value n a Source #

toOrdinary :: Value n a -> T (Vector n a) Source #

fromMultiVector :: T n a -> Value n a Source #

toMultiVector :: Value n a -> T n a Source #

extract :: (Positive n, C x, T x ~ a, Value n x ~ v) => Value Word32 -> v -> CodeGenFunction r a Source #

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

modify :: (Positive n, C x, T x ~ a, Value n x ~ v) => Value Word32 -> (a -> CodeGenFunction r a) -> v -> CodeGenFunction r v Source #

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

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

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

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

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

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

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

reverse :: (Positive n, C a) => Value n a -> CodeGenFunction r (Value n a) Source #

shiftUp :: (Positive n, C x, T x ~ a, Value n x ~ v) => a -> v -> CodeGenFunction r (a, v) Source #

shiftUpMultiZero :: (Positive n, C x, Value n x ~ v) => Int -> v -> CodeGenFunction r v Source #

shiftDown :: (Positive n, C x, T x ~ a, Value n x ~ v) => a -> v -> CodeGenFunction r (a, v) Source #

cumulate :: (Positive n, Additive a) => T a -> Value n a -> CodeGenFunction r (T a, Value n a) Source #

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

scale :: (Positive n, PseudoRing a) => T a -> Value n a -> CodeGenFunction r (Value n a) Source #