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

Safe HaskellNone

Synthesizer.LLVM.Frame

Synopsis

Documentation

stereoFromMono :: a -> CodeGenFunction r (T a)Source

Copy mono signal to both stereo channels.

stereoFromVector :: IsPrimitive a => Value (Vector D2 a) -> CodeGenFunction r (T (Value a))Source

vectorFromStereo :: IsPrimitive a => T (Value a) -> CodeGenFunction r (Value (Vector D2 a))Source

quadroFromVector :: IsPrimitive a => Value (Vector D4 a) -> CodeGenFunction r (T (T (Value a)))Source

vectorFromQuadro :: IsPrimitive a => T (T (Value a)) -> CodeGenFunction r (Value (Vector D4 a))Source

mix :: Additive a => a -> a -> CodeGenFunction r aSource

mixStereoV :: (IsArithmetic a, IsPrimitive a) => T (Value a) -> T (Value a) -> CodeGenFunction r (T (Value a))Source

This may mean more shuffling and is not necessarily better than mixStereo.

mixVector :: (Arithmetic a, Positive n) => Value (Vector n a) -> CodeGenFunction r (Value a)Source

mixInterleavedVectorToStereo :: (Arithmetic a, Positive n) => Value (Vector n a) -> CodeGenFunction r (T (Value a))Source

Mix components with even index to the left channel and components with odd index to the right channel.