Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Synopsis
- type Serial n a = T (T n a)
- pack :: (Read va, n ~ Size va, a ~ Element va, Write vb, n ~ Size vb, b ~ Element vb) => T a b -> T va vb
- packSmall :: (Read va, n ~ Size va, a ~ Element va, Write vb, n ~ Size vb, b ~ Element vb) => T a b -> T va vb
- raise :: (Positive n, Additive a) => Exp a -> T (Serial n a) (Serial n a)
- amplify :: (Positive n, PseudoRing a) => Exp a -> T (Serial n a) (Serial n a)
- amplifyStereo :: (Positive n, PseudoRing a) => Exp a -> T (T (Serial n a)) (T (Serial n a))
- delay1 :: (Positive n, C a, C a, Value n a ~ v) => Exp a -> T v v
- differentiate :: (Positive n, C a, Additive a, Value n a ~ v) => Exp a -> T v v
- integrate :: (Positive n, C a, Additive a, Value n a ~ v) => Exp a -> T v v
- osciCore :: (Positive n, C t, Fraction t) => T (Serial n t, Serial n t) (Serial n t)
- osci :: (Positive n, C t, Fraction t) => (forall r. Serial n t -> CodeGenFunction r y) -> T (Serial n t, Serial n t) y
- shapeModOsci :: (Positive n, C t, Fraction t) => (forall r. c -> Serial n t -> CodeGenFunction r y) -> T (c, (Serial n t, Serial n t)) y
- arrayElement :: (Positive n, C a, C a, Struct a ~ aStruct, IsFirstClass aStruct, Natural i, Natural d, i :<: d) => Proxy i -> T (T (Array d a)) (Serial n a)
Documentation
pack :: (Read va, n ~ Size va, a ~ Element va, Write vb, n ~ Size vb, b ~ Element vb) => T a b -> T va vb Source #
Run a scalar process on packed data. If the signal length is not divisible by the chunk size, then the last chunk is dropped.
packSmall :: (Read va, n ~ Size va, a ~ Element va, Write vb, n ~ Size vb, b ~ Element vb) => T a b -> T va vb Source #
Like pack
but duplicates the code for the scalar process.
That is, for vectors of size n,
the code for the scalar causal process will be written n times.
This is efficient only for simple input processes.
amplifyStereo :: (Positive n, PseudoRing a) => Exp a -> T (T (Serial n a)) (T (Serial n a)) Source #
osci :: (Positive n, C t, Fraction t) => (forall r. Serial n t -> CodeGenFunction r y) -> T (Serial n t, Serial n t) y Source #