matrix-sized-0.1.1: Haskell matrix library with interface to C++ linear algebra libraries.

Safe HaskellNone
LanguageHaskell2010

Data.Matrix.Static.Generic.Mutable

Documentation

class MVector v a => MMatrix (mat :: MMatrixKind) v a where Source #

Methods

dim :: mat r c v s a -> (Int, Int) Source #

unsafeRead :: PrimMonad s => mat r c v (PrimState s) a -> (Int, Int) -> s a Source #

unsafeWrite :: PrimMonad s => mat r c v (PrimState s) a -> (Int, Int) -> a -> s () Source #

unsafeModify :: PrimMonad s => mat r c v (PrimState s) a -> (a -> a) -> (Int, Int) -> s () Source #

fill :: PrimMonad s => mat r c v (PrimState s) a -> a -> s () Source #

new :: (SingI r, SingI c, PrimMonad s) => s (mat r c v (PrimState s) a) Source #

Create a mutable matrix without initialization

replicate :: (SingI r, SingI c, PrimMonad s) => a -> s (mat r c v (PrimState s) a) Source #

Instances
MVector v a => MMatrix MMatrix v a Source # 
Instance details

Defined in Data.Matrix.Static.Dense.Mutable

Methods

dim :: MMatrix r c v s a -> (Int, Int) Source #

unsafeRead :: PrimMonad s => MMatrix r c v (PrimState s) a -> (Int, Int) -> s a Source #

unsafeWrite :: PrimMonad s => MMatrix r c v (PrimState s) a -> (Int, Int) -> a -> s () Source #

unsafeModify :: PrimMonad s => MMatrix r c v (PrimState s) a -> (a -> a) -> (Int, Int) -> s () Source #

fill :: PrimMonad s => MMatrix r c v (PrimState s) a -> a -> s () Source #

new :: (SingI r, SingI c, PrimMonad s) => s (MMatrix r c v (PrimState s) a) Source #

replicate :: (SingI r, SingI c, PrimMonad s) => a -> s (MMatrix r c v (PrimState s) a) Source #

MVector v a => MMatrix MSparseMatrix v a Source # 
Instance details

Defined in Data.Matrix.Static.Sparse.Mutable

Methods

dim :: MSparseMatrix r c v s a -> (Int, Int) Source #

unsafeRead :: PrimMonad s => MSparseMatrix r c v (PrimState s) a -> (Int, Int) -> s a Source #

unsafeWrite :: PrimMonad s => MSparseMatrix r c v (PrimState s) a -> (Int, Int) -> a -> s () Source #

unsafeModify :: PrimMonad s => MSparseMatrix r c v (PrimState s) a -> (a -> a) -> (Int, Int) -> s () Source #

fill :: PrimMonad s => MSparseMatrix r c v (PrimState s) a -> a -> s () Source #

new :: (SingI r, SingI c, PrimMonad s) => s (MSparseMatrix r c v (PrimState s) a) Source #

replicate :: (SingI r, SingI c, PrimMonad s) => a -> s (MSparseMatrix r c v (PrimState s) a) Source #

type MMatrixKind = Nat -> Nat -> (Type -> Type -> Type) -> Type -> Type -> Type Source #

fillDiagonal :: (PrimMonad s, MMatrix mat v a) => mat r c v (PrimState s) a -> a -> s () Source #