Copyright | (c) Antony Courtney and Henrik Nilsson, Yale University, 2003 |
---|---|
License | BSD-style (see the LICENSE file in the distribution) |
Maintainer | ivan.perez@keera.co.uk |
Stability | provisional |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Language | Haskell98 |
- hold :: a -> SF (Event a) a
- dHold :: a -> SF (Event a) a
- trackAndHold :: a -> SF (Maybe a) a
- dTrackAndHold :: a -> SF (Maybe a) a
- accum :: a -> SF (Event (a -> a)) (Event a)
- accumHold :: a -> SF (Event (a -> a)) a
- dAccumHold :: a -> SF (Event (a -> a)) a
- accumBy :: (b -> a -> b) -> b -> SF (Event a) (Event b)
- accumHoldBy :: (b -> a -> b) -> b -> SF (Event a) b
- dAccumHoldBy :: (b -> a -> b) -> b -> SF (Event a) b
- accumFilter :: (c -> a -> (c, Maybe b)) -> c -> SF (Event a) (Event b)
Discrete to continuous-time signal functions
Wave-form generation
dHold :: a -> SF (Event a) a Source
Zero-order hold with delay.
Identity: dHold a0 = hold a0 >>> iPre a0).
trackAndHold :: a -> SF (Maybe a) a Source
Tracks input signal when available, holds last value when disappears.
!!! DANGER!!! Event used inside arr! Probably OK because arr will not be !!! optimized to arrE. But still. Maybe rewrite this using, say, scan? !!! or switch? Switching (in hold) for every input sample does not !!! seem like such a great idea anyway.
dTrackAndHold :: a -> SF (Maybe a) a Source
Accumulators
accumHold :: a -> SF (Event (a -> a)) a Source
Zero-order hold accumulator (always produces the last outputted value until an event arrives).
dAccumHold :: a -> SF (Event (a -> a)) a Source
Zero-order hold accumulator with delayed initialization (always produces the last outputted value until an event arrives, but the very initial output is always the given accumulator).
accumBy :: (b -> a -> b) -> b -> SF (Event a) (Event b) Source
Accumulator parameterized by the accumulation function.
accumHoldBy :: (b -> a -> b) -> b -> SF (Event a) b Source
Zero-order hold accumulator parameterized by the accumulation function.
dAccumHoldBy :: (b -> a -> b) -> b -> SF (Event a) b Source
Zero-order hold accumulator parameterized by the accumulation function with delayed initialization (initial output sample is always the given accumulator).