Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- data Parameter a
- parameter :: C a => a -> a -> Parameter a
- newtype CascadeParameter n a = CascadeParameter (Parameter a)
- flangerParameter :: (C a, Natural n) => Proxy n -> a -> CascadeParameter n a
- cascadeParameterMultiValue :: CascadeParameter n (T a) -> T (CascadeParameter n a)
- cascadeParameterUnMultiValue :: T (CascadeParameter n a) -> CascadeParameter n (T a)
- causal :: (C ae ve, Aggregate ae a, Aggregate ve v, C v) => T (Parameter a, v) v
- cascade :: Natural n => (C ae ve, Aggregate ae a, Aggregate ve v, C v) => (Phi a, Undefined a) => (Phi v, Undefined v) => T (CascadeParameter n a, v) v
- phaser :: Natural n => (C ae ve, Aggregate ae a, Aggregate ve v, C v) => (Phi a, Undefined a) => (Phi v, Undefined v) => (RationalConstant a, a ~ Scalar v, PseudoModule v) => T (CascadeParameter n a, v) v
- cascadePipeline :: (Positive n, C a, ValueOf a ~ ar, PseudoRing a, IntegerConstant a, C a, Vector n a) => T (T (CascadeParameter n a), T a) (T a)
- phaserPipeline :: (Positive n, PseudoRing a, RationalConstant a, C a, Vector n a) => T (CascadeParameter n (T a), T a) (T a)
- causalPacked :: (Write v, Element v ~ a, PseudoRing a, IntegerConstant a, C a, PseudoRing v, IntegerConstant v) => T (Parameter a, v) v
- cascadePacked :: (Natural n, Write v, Element v ~ a, PseudoRing a, IntegerConstant a, C a, PseudoRing v, RationalConstant v) => T (CascadeParameter n a, v) v
- phaserPacked :: (Natural n, Write v, Element v ~ a, PseudoRing a, IntegerConstant a, C a, PseudoRing v, RationalConstant v) => T (CascadeParameter n a, v) v
Documentation
Instances
Functor Parameter | |
Applicative Parameter | |
Defined in Synthesizer.Plain.Filter.Recursive.Allpass | |
Foldable Parameter | |
Defined in Synthesizer.Plain.Filter.Recursive.Allpass fold :: Monoid m => Parameter m -> m # foldMap :: Monoid m => (a -> m) -> Parameter a -> m # foldr :: (a -> b -> b) -> b -> Parameter a -> b # foldr' :: (a -> b -> b) -> b -> Parameter a -> b # foldl :: (b -> a -> b) -> b -> Parameter a -> b # foldl' :: (b -> a -> b) -> b -> Parameter a -> b # foldr1 :: (a -> a -> a) -> Parameter a -> a # foldl1 :: (a -> a -> a) -> Parameter a -> a # toList :: Parameter a -> [a] # length :: Parameter a -> Int # elem :: Eq a => a -> Parameter a -> Bool # maximum :: Ord a => Parameter a -> a # minimum :: Ord a => Parameter a -> a # | |
Traversable Parameter | |
Defined in Synthesizer.Plain.Filter.Recursive.Allpass | |
C a v => C a (Parameter v) | |
Defined in Synthesizer.Plain.Filter.Recursive.Allpass | |
VectorValue n a => VectorValue n (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass vectorValueOf :: Vector n (Parameter a) -> VectorValueOf n (Parameter a) | |
Show a => Show (Parameter a) | |
Storable a => Storable (Parameter a) | |
Defined in Synthesizer.Plain.Filter.Recursive.Allpass sizeOf :: Parameter a -> Int # alignment :: Parameter a -> Int # peekElemOff :: Ptr (Parameter a) -> Int -> IO (Parameter a) # pokeElemOff :: Ptr (Parameter a) -> Int -> Parameter a -> IO () # peekByteOff :: Ptr b -> Int -> IO (Parameter a) # pokeByteOff :: Ptr b -> Int -> Parameter a -> IO () # | |
C a => C (Parameter a) | |
C a => C (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass load :: Value (Ptr (Struct (Parameter a))) -> CodeGenFunction r (Parameter a) store :: Parameter a -> Value (Ptr (Struct (Parameter a))) -> CodeGenFunction r () decompose :: Value (Struct (Parameter a)) -> CodeGenFunction r (Parameter a) compose :: Parameter a -> CodeGenFunction r (Value (Struct (Parameter a))) | |
C a => C (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
Phi a => Phi (Parameter a) | |
C a => C (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass cons :: Positive n => Vector n (Parameter a) -> T n (Parameter a) undef :: Positive n => T n (Parameter a) zero :: Positive n => T n (Parameter a) phi :: Positive n => BasicBlock -> T n (Parameter a) -> CodeGenFunction r (T n (Parameter a)) addPhi :: Positive n => BasicBlock -> T n (Parameter a) -> T n (Parameter a) -> CodeGenFunction r () shuffle :: (Positive n, Positive m) => ConstValue (Vector m Word32) -> T n (Parameter a) -> T n (Parameter a) -> CodeGenFunction r (T m (Parameter a)) extract :: Positive n => Value Word32 -> T n (Parameter a) -> CodeGenFunction r (T (Parameter a)) insert :: Positive n => Value Word32 -> T (Parameter a) -> T n (Parameter a) -> CodeGenFunction r (T n (Parameter a)) | |
Undefined a => Undefined (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
Zero a => Zero (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
Value a => Value (Parameter a) | |
C a => C (Parameter a) | |
C v => C (Parameter v) | |
Simple v => Simple (Parameter v) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
C a => C (Parameter a) | |
MakeArguments (Parameter a) Source # | |
(Write v, Element v ~ a, PseudoRing a, IntegerConstant a, C a, PseudoRing v, IntegerConstant v) => C (Parameter a) v v Source # | |
(C ae ve, Aggregate ae a, Aggregate ve v, C a, C v) => C (Parameter a) v v Source # | |
Aggregate e mv => Aggregate (Parameter e) (Parameter mv) | |
type Repr n (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
type VectorValueOf n (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
type Arguments f (Parameter a) Source # | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
type Struct (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass type Struct (Parameter a) = Struct a | |
type Repr (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
type ValueOf (Parameter a) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
type Element (Parameter v) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
type Size (Parameter v) | |
Defined in Synthesizer.LLVM.Filter.Allpass type Size (Parameter v) = Size v | |
type ExpressionsOf (Parameter mv) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
type MultiValuesOf (Parameter e) | |
Defined in Synthesizer.LLVM.Filter.Allpass | |
type Output (Parameter a) v Source # | |
Defined in Synthesizer.LLVM.Causal.ControlledPacked | |
type Input (Parameter a) v Source # | |
Defined in Synthesizer.LLVM.Causal.ControlledPacked | |
type Input (Parameter a) v Source # | |
Defined in Synthesizer.LLVM.Causal.Controlled | |
type Output (Parameter a) v Source # | |
Defined in Synthesizer.LLVM.Causal.Controlled |
:: C a | |
=> a | The phase shift to be achieved for the given frequency. |
-> a | The frequency we specified the phase shift for. |
-> Parameter a |
Compute the filter parameter such that a given phase shift is achieved at a certain frequency.
Both frequency and phase are with respect to unit 1.
This is conform to Phase definition
and allows to avoid Transcendental constraint in some cases
since we need no factor 2*pi
.
See for instance parameterApprox
.
However, it is intended that the phase parameter is not of type Phase,
because for the cascadeParameter
we divide by the cascade order
and then there is a difference between phase pi and 3*pi.
newtype CascadeParameter n a Source #
Instances
flangerParameter :: (C a, Natural n) => Proxy n -> a -> CascadeParameter n a Source #
cascadeParameterMultiValue :: CascadeParameter n (T a) -> T (CascadeParameter n a) Source #
cascadeParameterUnMultiValue :: T (CascadeParameter n a) -> CascadeParameter n (T a) Source #
cascade :: Natural n => (C ae ve, Aggregate ae a, Aggregate ve v, C v) => (Phi a, Undefined a) => (Phi v, Undefined v) => T (CascadeParameter n a, v) v Source #
phaser :: Natural n => (C ae ve, Aggregate ae a, Aggregate ve v, C v) => (Phi a, Undefined a) => (Phi v, Undefined v) => (RationalConstant a, a ~ Scalar v, PseudoModule v) => T (CascadeParameter n a, v) v Source #
cascadePipeline :: (Positive n, C a, ValueOf a ~ ar, PseudoRing a, IntegerConstant a, C a, Vector n a) => T (T (CascadeParameter n a), T a) (T a) Source #
Fast implementation of cascade
using vector instructions.
However, there must be at least one pipeline stage,
primitive element types
and we get a delay by the number of pipeline stages.
phaserPipeline :: (Positive n, PseudoRing a, RationalConstant a, C a, Vector n a) => T (CascadeParameter n (T a), T a) (T a) Source #
causalPacked :: (Write v, Element v ~ a, PseudoRing a, IntegerConstant a, C a, PseudoRing v, IntegerConstant v) => T (Parameter a, v) v Source #
cascadePacked :: (Natural n, Write v, Element v ~ a, PseudoRing a, IntegerConstant a, C a, PseudoRing v, RationalConstant v) => T (CascadeParameter n a, v) v Source #
phaserPacked :: (Natural n, Write v, Element v ~ a, PseudoRing a, IntegerConstant a, C a, PseudoRing v, RationalConstant v) => T (CascadeParameter n a, v) v Source #
Orphan instances
VectorValue n a => VectorValue n (Parameter a) Source # | |
vectorValueOf :: Vector n (Parameter a) -> VectorValueOf n (Parameter a) | |
C a => C (Parameter a) Source # | |
C a => C (Parameter a) Source # | |
load :: Value (Ptr (Struct (Parameter a))) -> CodeGenFunction r (Parameter a) store :: Parameter a -> Value (Ptr (Struct (Parameter a))) -> CodeGenFunction r () decompose :: Value (Struct (Parameter a)) -> CodeGenFunction r (Parameter a) compose :: Parameter a -> CodeGenFunction r (Value (Struct (Parameter a))) | |
C a => C (Parameter a) Source # | |
Phi a => Phi (Parameter a) Source # | |
C a => C (Parameter a) Source # | |
cons :: Positive n => Vector n (Parameter a) -> T n (Parameter a) undef :: Positive n => T n (Parameter a) zero :: Positive n => T n (Parameter a) phi :: Positive n => BasicBlock -> T n (Parameter a) -> CodeGenFunction r (T n (Parameter a)) addPhi :: Positive n => BasicBlock -> T n (Parameter a) -> T n (Parameter a) -> CodeGenFunction r () shuffle :: (Positive n, Positive m) => ConstValue (Vector m Word32) -> T n (Parameter a) -> T n (Parameter a) -> CodeGenFunction r (T m (Parameter a)) extract :: Positive n => Value Word32 -> T n (Parameter a) -> CodeGenFunction r (T (Parameter a)) insert :: Positive n => Value Word32 -> T (Parameter a) -> T n (Parameter a) -> CodeGenFunction r (T n (Parameter a)) | |
Undefined a => Undefined (Parameter a) Source # | |
Zero a => Zero (Parameter a) Source # | |
Value a => Value (Parameter a) Source # | |
C a => C (Parameter a) Source # | |
C v => C (Parameter v) Source # | |
Simple v => Simple (Parameter v) Source # | |
C a => C (Parameter a) Source # | |
MakeArguments (Parameter a) Source # | |
Aggregate e mv => Aggregate (Parameter e) (Parameter mv) Source # | |