Safe Haskell | None |
---|---|
Language | Haskell2010 |
- step :: (C q, C u, C v, Write sig q) => T s u v sig q
- linear :: (C q, C u, C v, Write sig q) => T s u v sig q
- exponential :: (C q, C u, C v, Write sig q) => T v q -> T s u v sig q
- cosine :: (C q, C u, C v, Write sig q) => T s u v sig q
- halfSine :: (C q, C u, C v, Write sig q) => FlatPosition -> T s u v sig q
- cubic :: (C q, C u, C v, Write sig q) => T (DimensionGradient u v) q -> T (DimensionGradient u v) q -> T s u v sig q
- type T s u v sig q = Piece (T u q) (T v q) (T v q -> LazySize -> q -> T s u q (T (Phantom s) (Flat q) (sig q)))
- type Sequence s u v sig q = T (T u q) (T v q) (T v q -> LazySize -> q -> T s u q (T (Phantom s) (Flat q) (sig q)))
- run :: (C q, C q, C u, C v, Write sig q) => T u q -> Sequence s u v sig q -> T s u q (T (Phantom s) (Dimensional v q) (sig q))
- runVolume :: (C q, C q, C u, C v, Write sig q) => T u q -> Sequence s u v sig q -> T v q -> T s u q (T (Phantom s) (Dimensional v q) (sig q))
- runState :: (C q, C q, C u, C v) => Sequence s u v T q -> T s u q (R s v q q)
- runStateVolume :: (C q, C q, C u, C v) => Sequence s u v T q -> T v q -> T s u q (R s v q q)
- (-|#) :: y -> (PieceDist t y sig, T t y sig) -> (PieceRightSingle y, T t y sig)
- (#|-) :: (t, Piece t y sig) -> (PieceRightSingle y, T t y sig) -> (PieceDist t y sig, T t y sig)
- (=|#) :: (y, y) -> (PieceDist t y sig, T t y sig) -> (PieceRightDouble y, T t y sig)
- (#|=) :: (t, Piece t y sig) -> (PieceRightDouble y, T t y sig) -> (PieceDist t y sig, T t y sig)
- (|#) :: y -> (PieceDist t y sig, T t y sig) -> T t y sig
- (#|) :: (t, Piece t y sig) -> y -> (PieceDist t y sig, T t y sig)
- data FlatPosition :: *
Piecewise
cubic :: (C q, C u, C v, Write sig q) => T (DimensionGradient u v) q -> T (DimensionGradient u v) q -> T s u v sig q Source #
type T s u v sig q = Piece (T u q) (T v q) (T v q -> LazySize -> q -> T s u q (T (Phantom s) (Flat q) (sig q))) Source #
type Sequence s u v sig q = T (T u q) (T v q) (T v q -> LazySize -> q -> T s u q (T (Phantom s) (Flat q) (sig q))) Source #
run :: (C q, C q, C u, C v, Write sig q) => T u q -> Sequence s u v sig q -> T s u q (T (Phantom s) (Dimensional v q) (sig q)) Source #
Since this function looks for the maximum node value, and since the signal parameter inference phase must be completed before signal processing, infinite descriptions cannot be used here.
runVolume :: (C q, C q, C u, C v, Write sig q) => T u q -> Sequence s u v sig q -> T v q -> T s u q (T (Phantom s) (Dimensional v q) (sig q)) Source #
runStateVolume :: (C q, C q, C u, C v) => Sequence s u v T q -> T v q -> T s u q (R s v q q) Source #
(#|-) :: (t, Piece t y sig) -> (PieceRightSingle y, T t y sig) -> (PieceDist t y sig, T t y sig) infixr 5 #
The 6 operators simplify constructing a list of PieceData a
.
The description consists of nodes (namely the curve values at nodes)
and the connecting curve types.
The naming scheme is as follows:
In the middle there is a bar |
.
With respect to the bar,
the pad symbol #
is at the side of the curve type,
at the other side there is nothing, a minus sign -
, or an equality sign =
.
- Nothing means that here is the start or the end node of a curve.
- Minus means that here is a node where left and right curve meet at the same value. The node description is thus one value.
- Equality sign means that here is a split node, where left and right curve might have different ending and beginning values, respectively. The node description consists of a pair of values.