Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Functions on storable vectors that are implemented using LLVM.
Synopsis
- unpackStrict :: (Positive n, Vector a) => Vector (T n a) -> Vector a
- unpack :: (Positive n, Vector a) => Vector (T n a) -> Vector a
- unpackStereoStrict :: (Positive n, C a) => Vector (T n a) -> Vector (T a)
- unpackStereo :: (Positive n, C a) => Vector (T n a) -> Vector (T a)
- makeReversePackedStrict :: (Positive n, Vector a, v ~ T n a) => IO (Vector v -> Vector v)
- makeReversePacked :: (Positive n, Vector a, v ~ T n a) => IO (Vector v -> Vector v)
- continue :: Storable a => Vector a -> (a -> Vector a) -> Vector a
- continuePacked :: (Positive n, Vector a) => Vector (T n a) -> (a -> Vector (T n a)) -> Vector (T n a)
- continuePackedGeneric :: (Storable v, Storable a) => (Vector v -> Vector a) -> Vector v -> (a -> Vector v) -> Vector v
- fillBuffer :: (C a, T a ~ value) => value -> IO (Word -> Ptr a -> IO ())
- makeMixer :: (C a, T a ~ value) => (value -> value -> CodeGenFunction () value) -> IO (Word -> Ptr a -> Ptr a -> IO ())
- makeArranger :: (C a, Additive a) => IO (ChunkSize -> T Int (Vector a) -> Vector a)
Documentation
continue :: Storable a => Vector a -> (a -> Vector a) -> Vector a Source #
Append two signals where the second signal gets the last value of the first signal as parameter. If the first signal is empty then there is no parameter for the second signal and thus we simply return an empty signal in that case.
continuePacked :: (Positive n, Vector a) => Vector (T n a) -> (a -> Vector (T n a)) -> Vector (T n a) Source #
continuePackedGeneric :: (Storable v, Storable a) => (Vector v -> Vector a) -> Vector v -> (a -> Vector v) -> Vector v Source #
Use this like
do unpackGeneric <- makeUnpackGenericStrict return (continuePackedGeneric unpackGeneric x y)
fillBuffer :: (C a, T a ~ value) => value -> IO (Word -> Ptr a -> IO ()) Source #
fillBuffer
is not only more general than filling with zeros,
it also simplifies type inference.