hmatrix-static-0.3: hmatrix with vector and matrix sizes encoded in typesSource codeContentsIndex
Data.Packed.Static.ST
Portabilityportable
Stabilityexperimental
MaintainerReiner Pope <reiner.pope@gmail.com>
Description
Manipulation of Matrix and Vector in the ST monad.
Synopsis
newtype STVector n s t = STVector {
unSTVector :: STVector s t
}
newVector :: forall n s t. (Element t, PositiveT n) => t -> ST s (STVector n s t)
thawVector :: Storable t => Vector n t -> ST s (STVector n s t)
freezeVector :: Storable t => STVector n s1 t -> ST s2 (Vector n t)
runSTVector :: Storable t => (forall s. ST s (STVector n s t)) -> Vector n t
readVector :: Storable t => STVector n s t -> Int -> ST s t
writeVector :: Storable t => STVector n s t -> Int -> t -> ST s ()
modifyVector :: Storable t => STVector n s t -> Int -> (t -> t) -> ST s ()
liftSTVector :: Storable t => (Vector n t -> c) -> STVector n s1 t -> ST s2 c
newtype STMatrix mn s t = STMatrix {
unSTMatrix :: STMatrix s t
}
newMatrix :: forall m n s t. (Element t, PositiveT m, PositiveT n) => t -> ST s (STMatrix (m, n) s t)
thawMatrix :: Storable t => Matrix (m, n) t -> ST s (STMatrix (m, n) s t)
freezeMatrix :: Storable t => STMatrix (m, n) s1 t -> ST s2 (Matrix (m, n) t)
runSTMatrix :: Storable t => (forall s. ST s (STMatrix (m, n) s t)) -> Matrix (m, n) t
readMatrix :: Storable t => STMatrix (m, n) s t -> Int -> Int -> ST s t
writeMatrix :: Storable t => STMatrix (m, n) s t -> Int -> Int -> t -> ST s ()
modifyMatrix :: Storable t => STMatrix (m, n) s t -> Int -> Int -> (t -> t) -> ST s ()
liftSTMatrix :: Storable t => (Matrix (m, n) t -> a) -> STMatrix (m, n) s1 t -> ST s2 a
unsafeReadVector :: Storable t => STVector n s t -> Int -> ST s t
unsafeWriteVector :: Storable t => STVector n s t -> Int -> t -> ST s ()
unsafeThawVector :: Storable t => Vector n t -> ST s (STVector n s t)
unsafeFreezeVector :: Storable t => STVector n s1 t -> ST s2 (Vector n t)
unsafeReadMatrix :: Storable t => STMatrix (m, n) s t -> Int -> Int -> ST s t
unsafeWriteMatrix :: Storable t => STMatrix (m, n) s t -> Int -> Int -> t -> ST s ()
unsafeThawMatrix :: Storable t => Matrix (m, n) t -> ST s (STMatrix (m, n) s t)
unsafeFreeMatrix :: Storable t => STMatrix (m, n) s1 t -> ST s2 (Matrix (m, n) t)
Documentation
newtype STVector n s t Source
Constructors
STVector
unSTVector :: STVector s t
newVector :: forall n s t. (Element t, PositiveT n) => t -> ST s (STVector n s t)Source
thawVector :: Storable t => Vector n t -> ST s (STVector n s t)Source
freezeVector :: Storable t => STVector n s1 t -> ST s2 (Vector n t)Source
runSTVector :: Storable t => (forall s. ST s (STVector n s t)) -> Vector n tSource
readVector :: Storable t => STVector n s t -> Int -> ST s tSource
writeVector :: Storable t => STVector n s t -> Int -> t -> ST s ()Source
modifyVector :: Storable t => STVector n s t -> Int -> (t -> t) -> ST s ()Source
liftSTVector :: Storable t => (Vector n t -> c) -> STVector n s1 t -> ST s2 cSource
newtype STMatrix mn s t Source
A matrix with m rows, n columns.
Constructors
STMatrix
unSTMatrix :: STMatrix s t
newMatrix :: forall m n s t. (Element t, PositiveT m, PositiveT n) => t -> ST s (STMatrix (m, n) s t)Source
thawMatrix :: Storable t => Matrix (m, n) t -> ST s (STMatrix (m, n) s t)Source
freezeMatrix :: Storable t => STMatrix (m, n) s1 t -> ST s2 (Matrix (m, n) t)Source
runSTMatrix :: Storable t => (forall s. ST s (STMatrix (m, n) s t)) -> Matrix (m, n) tSource
readMatrix :: Storable t => STMatrix (m, n) s t -> Int -> Int -> ST s tSource
writeMatrix :: Storable t => STMatrix (m, n) s t -> Int -> Int -> t -> ST s ()Source
modifyMatrix :: Storable t => STMatrix (m, n) s t -> Int -> Int -> (t -> t) -> ST s ()Source
liftSTMatrix :: Storable t => (Matrix (m, n) t -> a) -> STMatrix (m, n) s1 t -> ST s2 aSource
unsafeReadVector :: Storable t => STVector n s t -> Int -> ST s tSource
unsafeWriteVector :: Storable t => STVector n s t -> Int -> t -> ST s ()Source
unsafeThawVector :: Storable t => Vector n t -> ST s (STVector n s t)Source
unsafeFreezeVector :: Storable t => STVector n s1 t -> ST s2 (Vector n t)Source
unsafeReadMatrix :: Storable t => STMatrix (m, n) s t -> Int -> Int -> ST s tSource
unsafeWriteMatrix :: Storable t => STMatrix (m, n) s t -> Int -> Int -> t -> ST s ()Source
unsafeThawMatrix :: Storable t => Matrix (m, n) t -> ST s (STMatrix (m, n) s t)Source
unsafeFreeMatrix :: Storable t => STMatrix (m, n) s1 t -> ST s2 (Matrix (m, n) t)Source
Produced by Haddock version 2.4.2