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

Safe HaskellNone
LanguageHaskell98

Synthesizer.LLVM.Simple.Signal

Documentation

class Applicative signal => C signal where Source

Minimal complete definition

simpleAlloca, alter

Methods

simple :: C state => (forall r c. state -> T r c (a, state)) -> (forall r. CodeGenFunction r state) -> signal a Source

Instances

C T Source 
C (T p) Source 

data T a Source

Instances

Functor T Source 
Applicative T Source

ZipList semantics

C T Source 
(Field a, Real a, RationalConstant a) => Fractional (T a) Source 
(PseudoRing a, Real a, IntegerConstant a) => Num (T a) Source 
(Field a, RationalConstant a) => C (T a) Source 
(PseudoRing a, IntegerConstant a) => C (T a) Source 
Additive a => C (T a) Source 
type ProcessOf T = T 

amplify :: (C signal, IsArithmetic a, IsConst a) => a -> signal (Value a) -> signal (Value a) Source

amplifyStereo :: (C signal, IsArithmetic a, IsConst a) => a -> signal (T (Value a)) -> signal (T (Value a)) Source

constant :: (C signal, IsConst a) => a -> signal (Value a) Source

envelope :: (C signal, PseudoRing a) => signal a -> signal a -> signal a Source

envelopeStereo :: (C signal, PseudoRing a) => signal a -> signal (T a) -> signal (T a) Source

exponential2 :: (C signal, C a, IsArithmetic a, FirstClass a, Stored a ~ am, IsSized am, IsConst a) => a -> a -> signal (Value a) Source

iterate :: (C signal, FirstClass a, Stored a ~ am, IsSized am, IsConst a) => (forall r. Value a -> CodeGenFunction r (Value a)) -> Value a -> signal (Value a) Source

map :: C signal => (forall r. a -> CodeGenFunction r b) -> signal a -> signal b Source

mapAccum :: (C signal, C s) => (forall r. a -> s -> CodeGenFunction r (b, s)) -> (forall r. CodeGenFunction r s) -> signal a -> signal b Source

mix :: (C signal, Additive a) => signal a -> signal a -> signal a Source

osci :: (C signal, FirstClass t, Stored t ~ tm, IsSized tm, Fraction t, IsConst t) => (forall r. Value t -> CodeGenFunction r y) -> t -> t -> signal y Source

osciPlain :: (C signal, FirstClass t, Stored t ~ tm, IsSized tm, Fraction t, IsConst t) => (forall r. Value t -> CodeGenFunction r y) -> Value t -> Value t -> signal y Source

osciSaw :: (C signal, IntegerConstant a, FirstClass a, Stored a ~ am, IsSized am, Fraction a, IsConst a) => a -> a -> signal (Value a) Source

zip :: T a -> T b -> T (a, b) Source

zipWith :: C signal => (forall r. a -> b -> CodeGenFunction r c) -> signal a -> signal b -> signal c Source

fromStorableVector :: (Storable a, MakeValueTuple a, ValueTuple a ~ value, C value) => Vector a -> T value Source

fromStorableVectorLazy :: (Storable a, MakeValueTuple a, ValueTuple a ~ value, C value) => Vector a -> T value Source

render :: (Storable a, MakeValueTuple a, ValueTuple a ~ value, C value) => T value -> Int -> Vector a Source

renderChunky :: (Storable a, MakeValueTuple a, ValueTuple a ~ value, C value) => ChunkSize -> T value -> Vector a Source

runChunky :: (Storable a, MakeValueTuple a, ValueTuple a ~ value, C value) => T value -> ChunkSize -> IO (Vector a) Source