Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- constant :: Write sig y => LazySize -> y -> sig y
- linear :: (C y, Write sig y) => LazySize -> y -> y -> sig y
- linearMultiscale :: (C y, Write sig y) => LazySize -> y -> y -> sig y
- linearMultiscaleNeutral :: (C y, Write sig y) => LazySize -> y -> sig y
- line :: (C y, Write sig y) => LazySize -> Int -> (y, y) -> sig y
- exponential :: (C y, Write sig y) => LazySize -> y -> y -> sig y
- exponentialMultiscale :: (C y, Write sig y) => LazySize -> y -> y -> sig y
- exponentialMultiscaleNeutral :: (C y, Write sig y) => LazySize -> y -> sig y
- exponential2 :: (C y, Write sig y) => LazySize -> y -> y -> sig y
- exponential2Multiscale :: (C y, Write sig y) => LazySize -> y -> y -> sig y
- exponential2MultiscaleNeutral :: (C y, Write sig y) => LazySize -> y -> sig y
- vectorExponential :: (C y, C y v, Write sig v) => LazySize -> y -> v -> sig v
- vectorExponential2 :: (C y, C y v, Write sig v) => LazySize -> y -> v -> sig v
- cosine :: (C y, Write sig y) => LazySize -> y -> y -> sig y
- cosineMultiscaleLinear :: (C y, Write sig y) => LazySize -> y -> y -> sig y
- cosineMultiscale :: (C y, Write sig (T y), Transform sig (T y), Transform sig y) => LazySize -> y -> y -> sig y
- cosineWithSlope :: C y => (y -> y -> signal) -> y -> y -> signal
- cubicHermite :: (C y, Write sig y) => LazySize -> (y, (y, y)) -> (y, (y, y)) -> sig y
Documentation
linearMultiscale :: (C y, Write sig y) => LazySize -> y -> y -> sig y Source #
Minimize rounding errors by reducing number of operations per element to a logarithmuc number.
linearMultiscaleNeutral :: (C y, Write sig y) => LazySize -> y -> sig y Source #
Linear curve starting at zero.
:: (C y, Write sig y) | |
=> LazySize | |
-> Int | length |
-> (y, y) | initial and final value |
-> sig y | linear progression |
Linear curve of a fixed length. The final value is not actually reached, instead we stop one step before. This way we can concatenate several lines without duplicate adjacent values.
:: (C y, C y v, Write sig v) | |
=> LazySize | |
-> y | time where the function reaches 1/e of the initial value |
-> v | initial value |
-> sig v | exponential decay |
This is an extension of exponential
to vectors
which is straight-forward but requires more explicit signatures.
But since it is needed rarely I setup a separate function.
cosineWithSlope :: C y => (y -> y -> signal) -> y -> y -> signal Source #