Safe Haskell | None |
---|---|
Language | Haskell98 |
This module provides a type class that automatically selects a filter for a given parameter type. We choose the dependency this way because there may be different ways to specify the filter parameters but there is only one implementation of the filter itself.
Synopsis
Documentation
class (a ~ Input parameter b, b ~ Output parameter a) => C parameter a b where Source #
A filter parameter type uniquely selects a filter function. However it does not uniquely determine the input and output type, since the same filter can run on mono and stereo signals.
Instances
(C ae ve, Aggregate ae a, Aggregate ve v, C a, C v) => C (Parameter a) v v Source # | |
(a ~ Scalar v, PseudoModule v, RationalConstant a, C a, C v) => C (Parameter a) v v Source # | |
(C ae ve, Aggregate ae a, Aggregate ve v, C a, C v) => C (Parameter a) v (Result v) Source # | |
(PseudoModule v, Scalar v ~ a, RationalConstant a, C a, C v) => C (Parameter a) v (Result v) Source # | |
(PseudoRing a, RationalConstant a, C a) => C (Parameter a) (T a) (T a) Source # | |
(Vector n a, n ~ D3, PseudoRing a, inp ~ T a, out ~ T a) => C (ParameterMV a) (T inp) (T out) Source # | |
Defined in Synthesizer.LLVM.Causal.Controlled | |
(C a, Vector D4 a, PseudoRing a) => C (Parameter a) (T a) (T a) Source # | |
(C ae ve, Aggregate ae a, Aggregate ve v, C v, Natural n) => C (Parameter n a) v v Source # | |
(C ae ve, Aggregate ae a, Aggregate ve v, C a, C v, Natural n) => C (CascadeParameter n a) v v Source # | |
Defined in Synthesizer.LLVM.Causal.Controlled type Input (CascadeParameter n a) v :: Type Source # type Output (CascadeParameter n a) v :: Type Source # process :: T (CascadeParameter n a, v) v Source # | |
(a ~ Scalar v, PseudoModule v, C a, IntegerConstant a, C v, Natural n, Positive (n :*: UnknownSize), inp ~ T v, out ~ T v) => C (ParameterValue n a) inp out Source # | |
Defined in Synthesizer.LLVM.Causal.Controlled type Input (ParameterValue n a) out :: Type Source # type Output (ParameterValue n a) inp :: Type Source # process :: T (ParameterValue n a, inp) out Source # |