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

Safe HaskellNone

Synthesizer.LLVM.Filter.Chebyshev

Synopsis

Documentation

parameterCausalA :: (C process, C a, TranscendentalConstant a, IsFloating a, IsSized a, Positive n, Natural n, Positive (n :*: SizeOf a), IsSized (ParameterStruct n a), SizeOf (ParameterStruct n a) ~ paramSize, (n :*: UnknownSize) ~ paramSize, Positive paramSize) => Proxy n -> Passband -> process (Value a, Value a) (ParameterValue n a)Source

n must be at least one in order to allow amplification by the first partial filter. The causal processes should be more efficient than parameterA and parameterB because they use stack-based alloca instead of malloc.

parameterCausalB :: (C process, C a, TranscendentalConstant a, IsFloating a, IsSized a, Positive n, Natural n, Positive (n :*: SizeOf a), IsSized (ParameterStruct n a), SizeOf (ParameterStruct n a) ~ paramSize, (n :*: UnknownSize) ~ paramSize, Positive paramSize) => Proxy n -> Passband -> process (Value a, Value a) (ParameterValue n a)Source

n must be at least one in order to allow amplification by the first partial filter. The causal processes should be more efficient than parameterA and parameterB because they use stack-based alloca instead of malloc.

causal :: (C process, Value a ~ Scalar v, PseudoModule v, FirstClass a, Stored a ~ am, IsSized a, IsSized am, C v, IsArithmetic a, IntegerConstant a, Natural n, Positive (n :*: UnknownSize)) => process (ParameterValue n a, v) vSource

fixSize :: Proxy n -> process (ParameterValue n a, x) y -> process (ParameterValue n a, x) ySource