- data T t y
- func :: T t y -> t -> T y -> y
- offset :: T t y -> Int
- number :: T t y -> Int
- zeroPad :: C t => (T t y -> t -> T y -> a) -> y -> T t y -> t -> T y -> a
- constantPad :: C t => (T t y -> t -> T y -> a) -> T t y -> t -> T y -> a
- cyclicPad :: C t => (T t y -> t -> T y -> a) -> T t y -> t -> T y -> a
- extrapolationPad :: C t => (T t y -> t -> T y -> a) -> T t y -> t -> T y -> a
- single :: C t => T t y -> t -> T y -> y
- multiRelative :: C t => T t y -> t -> T y -> T t -> T y
- multiRelativeZeroPad :: C t => y -> T t y -> t -> T t -> T y -> T y
- multiRelativeConstantPad :: C t => T t y -> t -> T t -> T y -> T y
- multiRelativeCyclicPad :: C t => T t y -> t -> T t -> T y -> T y
- multiRelativeExtrapolationPad :: C t => T t y -> t -> T t -> T y -> T y
- multiRelativeZeroPadConstant :: (C t, C y) => t -> T t -> T y -> T y
- multiRelativeZeroPadLinear :: (C t, C t y) => t -> T t -> T y -> T y
- multiRelativeZeroPadCubic :: (C t, C t y) => t -> T t -> T y -> T y
- constant :: T t y
- linear :: C t y => T t y
- cubic :: (C t, C t y) => T t y
- piecewise :: C t y => Int -> [t -> t] -> T t y
- function :: C t y => (Int, Int) -> (t -> t) -> T t y
- data Margin
- margin :: T t y -> Margin
- singleRec :: (Ord t, C t) => T t y -> t -> T y -> y
Documentation
cyclicPad :: C t => (T t y -> t -> T y -> a) -> T t y -> t -> T y -> aSource
Only for finite input signals.
extrapolationPad :: C t => (T t y -> t -> T y -> a) -> T t y -> t -> T y -> aSource
The extrapolation may miss some of the first and some of the last points
multiRelative :: C t => T t y -> t -> T y -> T t -> T ySource
All values of frequency control must be non-negative.
multiRelativeExtrapolationPad :: C t => T t y -> t -> T t -> T y -> T ySource
The extrapolation may miss some of the first and some of the last points
Consider the signal to be piecewise constant, where the leading value is used for filling the interval [0,1).
cubic :: (C t, C t y) => T t ySource
Consider the signal to be piecewise cubic, with smooth connections at the nodes. It uses a cubic curve which has node values x0 at 0 and x1 at 1 and derivatives (x1-xm1)2 and (x2-x0)2, respectively. You can see how it works if you evaluate the expression for t=0 and t=1 as well as the derivative at these points.
with this wrapper you can use the collection of interpolating functions from Donadio's DSP library