Safe Haskell | None |
---|
- static :: (Storable vh, MakeValueTuple vh, ValueTuple vh ~ v, C v, C nodesStep, C nodesLeap, RationalConstant a, Fraction a, Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, NumberOfElements a ~ D1) => (forall r. T r nodesLeap (Value a) v) -> (forall r. T r nodesStep (Value a) v) -> T p Int -> T p a -> T p (Vector vh) -> T p (Value a, Value a) v
- staticPacked :: (Storable vh, MakeValueTuple vh, ValueTuple vh ~ ve, Element v ~ ve, C ve, C nodesStep, C nodesLeap, Size (nodesLeap (nodesStep v)) ~ n, C (nodesLeap (nodesStep v)), Element (nodesLeap (nodesStep v)) ~ nodesLeap (nodesStep (Element v)), Positive n, RationalConstant a, Fraction a, Real a, Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, IsPrimitive a, IsPrimitive am) => (forall r. T r nodesLeap (Value n a) v) -> (forall r. T r nodesStep (Value n a) v) -> T p Int -> T p a -> T p (Vector vh) -> T p (Value n a, Value n a) v
- dynamic :: (C nodesStep, C nodesLeap, Additive v, C v, RationalConstant a, Fraction a, CmpRet a, CmpResult a ~ Bool, Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, NumberOfElements a ~ D1) => (forall r. T r nodesLeap (Value a) v) -> (forall r. T r nodesStep (Value a) v) -> T p Int -> T p a -> T p v -> T p (Value a, Value a) v
- dynamicLimited :: (C nodesStep, C nodesLeap, Additive v, C v, RationalConstant a, Fraction a, CmpRet a, CmpResult a ~ Bool, Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, NumberOfElements a ~ D1) => (forall r. T r nodesLeap (Value a) v) -> (forall r. T r nodesStep (Value a) v) -> T p Int -> T p a -> T p v -> T p (Value a, Value a) v
- zigZag :: (Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, Fraction a, IsFloating a, RationalConstant a, CmpRet a) => T p a -> T p (Value a) (Value a)
- zigZagPacked :: (Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, Fraction a, Real a, IsFloating a, RationalConstant a, CmpRet a, Positive n) => T p a -> T p (Value n a) (Value n a)
- zigZagLong :: (Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, Fraction a, IsFloating a, RationalConstant a, CmpRet a, C a) => T p a -> T p a -> T p (Value a) (Value a)
- zigZagLongPacked :: (Storable a, MakeValueTuple a, ValueTuple a ~ Value a, Fraction a, RationalConstant a, Real a, FirstClass a, Stored a ~ am, IsSized am, IsPrimitive am, C a, (n :*: SizeOf am) ~ amsize, Positive amsize, Positive n) => T p a -> T p a -> T p (Value n a) (Value n a)
time and phase control based on the helix model
static :: (Storable vh, MakeValueTuple vh, ValueTuple vh ~ v, C v, C nodesStep, C nodesLeap, RationalConstant a, Fraction a, Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, NumberOfElements a ~ D1) => (forall r. T r nodesLeap (Value a) v) -> (forall r. T r nodesStep (Value a) v) -> T p Int -> T p a -> T p (Vector vh) -> T p (Value a, Value a) vSource
Inputs are (shape, phase)
.
The shape parameter is limited at the beginning and at the end
such that only available data is used for interpolation.
Actually, we allow almost one step less than possible,
since the right boundary of the interval of admissible shape
values is open.
staticPacked :: (Storable vh, MakeValueTuple vh, ValueTuple vh ~ ve, Element v ~ ve, C ve, C nodesStep, C nodesLeap, Size (nodesLeap (nodesStep v)) ~ n, C (nodesLeap (nodesStep v)), Element (nodesLeap (nodesStep v)) ~ nodesLeap (nodesStep (Element v)), Positive n, RationalConstant a, Fraction a, Real a, Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, IsPrimitive a, IsPrimitive am) => (forall r. T r nodesLeap (Value n a) v) -> (forall r. T r nodesStep (Value n a) v) -> T p Int -> T p a -> T p (Vector vh) -> T p (Value n a, Value n a) vSource
dynamic :: (C nodesStep, C nodesLeap, Additive v, C v, RationalConstant a, Fraction a, CmpRet a, CmpResult a ~ Bool, Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, NumberOfElements a ~ D1) => (forall r. T r nodesLeap (Value a) v) -> (forall r. T r nodesStep (Value a) v) -> T p Int -> T p a -> T p v -> T p (Value a, Value a) vSource
If the time control exceeds the end of the input signal,
then the last waveform is locked.
This is analogous to static
.
dynamicLimited :: (C nodesStep, C nodesLeap, Additive v, C v, RationalConstant a, Fraction a, CmpRet a, CmpResult a ~ Bool, Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, NumberOfElements a ~ D1) => (forall r. T r nodesLeap (Value a) v) -> (forall r. T r nodesStep (Value a) v) -> T p Int -> T p a -> T p v -> T p (Value a, Value a) vSource
In contrast to dynamic
this one ends
when the end of the manipulated signal is reached.
useful control curves
zigZag :: (Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, Fraction a, IsFloating a, RationalConstant a, CmpRet a) => T p a -> T p (Value a) (Value a)Source
zigZagPacked :: (Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, Fraction a, Real a, IsFloating a, RationalConstant a, CmpRet a, Positive n) => T p a -> T p (Value n a) (Value n a)Source
zigZagLong :: (Storable a, MakeValueTuple a, ValueTuple a ~ Value a, FirstClass a, Stored a ~ am, IsSized am, Fraction a, IsFloating a, RationalConstant a, CmpRet a, C a) => T p a -> T p a -> T p (Value a) (Value a)Source
zigZagLongPacked :: (Storable a, MakeValueTuple a, ValueTuple a ~ Value a, Fraction a, RationalConstant a, Real a, FirstClass a, Stored a ~ am, IsSized am, IsPrimitive am, C a, (n :*: SizeOf am) ~ amsize, Positive amsize, Positive n) => T p a -> T p a -> T p (Value n a) (Value n a)Source