Copyright | (c) 2014 Bryan O'Sullivan |
---|---|
License | BSD3 |
Safe Haskell | None |
Language | Haskell2010 |
Basic mutable matrix operations.
Synopsis
- data MMatrix s = MMatrix ! Int ! Int !( MVector s)
- type MVector s = MVector s Double
- replicate :: Int -> Int -> Double -> ST s ( MMatrix s)
- thaw :: Matrix -> ST s ( MMatrix s)
- bounds :: MMatrix s -> Int -> Int -> ( MVector s -> Int -> r) -> r
- unsafeNew :: Int -> Int -> ST s ( MMatrix s)
- unsafeFreeze :: MMatrix s -> ST s Matrix
- unsafeRead :: MMatrix s -> Int -> Int -> ST s Double
- unsafeWrite :: MMatrix s -> Int -> Int -> Double -> ST s ()
- unsafeModify :: MMatrix s -> Int -> Int -> ( Double -> Double ) -> ST s ()
- immutably :: NFData a => MMatrix s -> ( Matrix -> a) -> ST s a
- unsafeBounds :: MMatrix s -> Int -> Int -> ( MVector s -> Int -> r) -> r
Documentation
Two-dimensional mutable matrix, stored in row-major order.
bounds :: MMatrix s -> Int -> Int -> ( MVector s -> Int -> r) -> r Source #
Given row and column numbers, calculate the offset into the flat row-major vector.
Allocate new matrix. Matrix content is not initialized hence unsafe.