Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Translate clocked signal processing components to stream functions without explicit clock types.
This module is not meant to be used externally,
and is thus not exported from Rhine
.
Synopsis
- eraseClockClSF :: (Monad m, Clock m cl) => ClockProxy cl -> Time cl -> ClSF m cl a b -> Automaton m (Time cl, Tag cl, a) b
- eraseClockSN :: (Monad m, Clock m cl, GetClockProxy cl) => Time cl -> SN m cl a b -> Automaton m (Time cl, Tag cl, Maybe a) (Maybe b)
- eraseClockResBuf :: (Monad m, Clock m cl1, Clock m cl2, Time cl1 ~ Time cl2) => ClockProxy cl1 -> ClockProxy cl2 -> Time cl1 -> ResBuf m cl1 cl2 a b -> Automaton m (Either (Time cl1, Tag cl1, a) (Time cl2, Tag cl2)) (Maybe b)
Documentation
eraseClockClSF :: (Monad m, Clock m cl) => ClockProxy cl -> Time cl -> ClSF m cl a b -> Automaton m (Time cl, Tag cl, a) b Source #
Run a clocked signal function as an automaton, accepting the timestamps and tags as explicit inputs.
eraseClockSN :: (Monad m, Clock m cl, GetClockProxy cl) => Time cl -> SN m cl a b -> Automaton m (Time cl, Tag cl, Maybe a) (Maybe b) Source #
Run a signal network as an automaton.
Depending on the incoming clock,
input data may need to be provided,
and depending on the outgoing clock,
output data may be generated.
There are thus possible invalid inputs,
which eraseClockSN
does not gracefully handle.
eraseClockResBuf :: (Monad m, Clock m cl1, Clock m cl2, Time cl1 ~ Time cl2) => ClockProxy cl1 -> ClockProxy cl2 -> Time cl1 -> ResBuf m cl1 cl2 a b -> Automaton m (Either (Time cl1, Tag cl1, a) (Time cl2, Tag cl2)) (Maybe b) Source #
Translate a resampling buffer into an automaton.
The input decides whether the buffer is to accept input or has to produce output. (In the latter case, only time information is provided.)