- data Parameter a
- parameter :: (C a, IsConst a, IsFloating a) => Value a -> Value a -> CodeGenFunction r (Parameter (Value a))
- data CascadeParameter n a
- flangerParameter :: (C a, IsConst a, IsFloating a, Nat n) => n -> Value a -> CodeGenFunction r (CascadeParameter n (Value a))
- flangerParameterPlain :: (C a, Nat n) => n -> a -> CascadeParameter n a
- causalP :: (C a, C (T a) (T v), IsFirstClass a, IsSized a as, IsConst a, IsFirstClass v, IsSized v vs, IsConst v, IsArithmetic a) => T p (Parameter (Value a), Value v) (Value v)
- cascadeP :: (C a, C (T a) (T v), IsFirstClass a, IsSized a as, IsConst a, IsFirstClass v, IsSized v vs, IsConst v, IsArithmetic a, Nat n) => T p (CascadeParameter n (Value a), Value v) (Value v)
- phaserP :: (C a, C (T a) (T v), IsFirstClass a, IsSized a as, IsConst a, IsFirstClass v, IsSized v vs, IsConst v, IsFloating a, IsArithmetic v, Nat n) => T p (CascadeParameter n (Value a), Value v) (Value v)
- cascadePipelineP :: (C a, IsFirstClass a, IsSized a as, Mul n as vas, Pos vas, IsPowerOf2 n, IsArithmetic a, IsPrimitive a, IsConst a) => T p (CascadeParameter n (Value a), Value a) (Value a)
- phaserPipelineP :: (C a, IsFirstClass a, IsSized a as, IsSized (Vector n a) vas, Mul n as vas, IsPowerOf2 n, IsFloating a, IsPrimitive a, IsConst a) => T p (CascadeParameter n (Value a), Value a) (Value a)
- causalPackedP :: (C a, IsFirstClass a, IsArithmetic a, IsConst a, IsPowerOf2 n, IsPrimitive a, IsSized a as) => T p (Parameter (Value a), Value (Vector n a)) (Value (Vector n a))
- cascadePackedP :: (C a, IsFirstClass a, IsArithmetic a, IsConst a, IsPowerOf2 m, IsPrimitive a, IsSized a as, Nat n) => T p (CascadeParameter n (Value a), Value (Vector m a)) (Value (Vector m a))
- phaserPackedP :: (C a, IsFirstClass a, IsArithmetic a, IsConst a, IsPowerOf2 m, IsPrimitive a, IsSized a as, Nat n) => T p (CascadeParameter n (Value a), Value (Vector m a)) (Value (Vector m a))
Documentation
data Parameter a
Functor Parameter | |
Applicative Parameter | |
Foldable Parameter | |
Traversable Parameter | |
ShuffleMatch n v => ShuffleMatch n (Parameter v) | |
C a v => C a (Parameter v) | |
Access n a v => Access n (Parameter a) (Parameter v) | |
Show a => Show (Parameter a) | |
Storable a => Storable (Parameter a) | |
Zero a => Zero (Parameter a) | |
Phi a => Phi (Parameter a) | |
ValueTuple a => ValueTuple (Parameter a) | |
Undefined a => Undefined (Parameter a) | |
IsTuple a => IsTuple (Parameter a) | |
(Memory a s, IsSized s ss) => Memory (Parameter a) s | |
MakeValueTuple ah al => MakeValueTuple (Parameter ah) (Parameter al) | |
Flatten ah al => Flatten (Parameter ah) (Parameter al) | |
(C a, IsFirstClass a, IsArithmetic a, IsConst a, IsPowerOf2 n, IsPrimitive a, IsSized a as) => C (Parameter (Value a)) (Value (Vector n a)) (Value (Vector n a)) | |
(C a, C (T a) (T v), IsFirstClass a, IsSized a as, IsConst a, IsArithmetic a, IsFirstClass v, IsSized v vs, IsConst v, IsArithmetic v) => C (Parameter (Value a)) (Value v) (Value v) |
parameter :: (C a, IsConst a, IsFloating a) => Value a -> Value a -> CodeGenFunction r (Parameter (Value a))Source
data CascadeParameter n a Source
flangerParameter :: (C a, IsConst a, IsFloating a, Nat n) => n -> Value a -> CodeGenFunction r (CascadeParameter n (Value a))Source
flangerParameterPlain :: (C a, Nat n) => n -> a -> CascadeParameter n aSource
causalP :: (C a, C (T a) (T v), IsFirstClass a, IsSized a as, IsConst a, IsFirstClass v, IsSized v vs, IsConst v, IsArithmetic a) => T p (Parameter (Value a), Value v) (Value v)Source
cascadeP :: (C a, C (T a) (T v), IsFirstClass a, IsSized a as, IsConst a, IsFirstClass v, IsSized v vs, IsConst v, IsArithmetic a, Nat n) => T p (CascadeParameter n (Value a), Value v) (Value v)Source
phaserP :: (C a, C (T a) (T v), IsFirstClass a, IsSized a as, IsConst a, IsFirstClass v, IsSized v vs, IsConst v, IsFloating a, IsArithmetic v, Nat n) => T p (CascadeParameter n (Value a), Value v) (Value v)Source
cascadePipelineP :: (C a, IsFirstClass a, IsSized a as, Mul n as vas, Pos vas, IsPowerOf2 n, IsArithmetic a, IsPrimitive a, IsConst a) => T p (CascadeParameter n (Value a), Value a) (Value a)Source
Fast implementation of cascadeP
using vector instructions.
However, we are currently limited to powers of two,
primitive element types
and we get a delay by the number of pipeline stages.
phaserPipelineP :: (C a, IsFirstClass a, IsSized a as, IsSized (Vector n a) vas, Mul n as vas, IsPowerOf2 n, IsFloating a, IsPrimitive a, IsConst a) => T p (CascadeParameter n (Value a), Value a) (Value a)Source
causalPackedP :: (C a, IsFirstClass a, IsArithmetic a, IsConst a, IsPowerOf2 n, IsPrimitive a, IsSized a as) => T p (Parameter (Value a), Value (Vector n a)) (Value (Vector n a))Source
cascadePackedP :: (C a, IsFirstClass a, IsArithmetic a, IsConst a, IsPowerOf2 m, IsPrimitive a, IsSized a as, Nat n) => T p (CascadeParameter n (Value a), Value (Vector m a)) (Value (Vector m a))Source
phaserPackedP :: (C a, IsFirstClass a, IsArithmetic a, IsConst a, IsPowerOf2 m, IsPrimitive a, IsSized a as, Nat n) => T p (CascadeParameter n (Value a), Value (Vector m a)) (Value (Vector m a))Source