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

Safe HaskellNone
LanguageHaskell2010

Data.Matrix.Static.LinearAlgebra.Types

Synopsis

Documentation

type Matrix r c a = Matrix r c Vector a Source #

type MMatrix r c s a = MMatrix r c MVector s a Source #

type SparseMatrix r c a = SparseMatrix r c Vector a Source #

withFun1 :: forall r1 c1 r2 c2 a. (SingI r2, SingI c2, Numeric a) => (CInt -> Ptr a -> CInt -> CInt -> Ptr a -> CInt -> CInt -> IO CString) -> Matrix r1 c1 a -> Matrix r2 c2 a Source #

withFun2 :: forall r1 c1 r2 c2 r3 c3 a. (SingI r3, SingI c3, Numeric a) => (CInt -> Ptr a -> CInt -> CInt -> Ptr a -> CInt -> CInt -> Ptr a -> CInt -> CInt -> IO CString) -> Matrix r1 c1 a -> Matrix r2 c2 a -> Matrix r3 c3 a Source #

withDS :: forall r1 c1 r2 c2 r3 c3 a. (SingI r3, SingI c3, Numeric a) => (CInt -> Ptr a -> CInt -> CInt -> Ptr a -> CInt -> CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> CInt -> CInt -> CInt -> IO CString) -> Matrix r1 c1 a -> SparseMatrix r2 c2 a -> Matrix r3 c3 a Source #

withSD :: forall r1 c1 r2 c2 r3 c3 a. (SingI r3, SingI c3, Numeric a) => (CInt -> Ptr a -> CInt -> CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> CInt -> CInt -> CInt -> Ptr a -> CInt -> CInt -> IO CString) -> SparseMatrix r2 c2 a -> Matrix r1 c1 a -> Matrix r3 c3 a Source #

withSS :: forall r1 c1 r2 c2 r3 c3 a. (SingI r3, SingI c3, Numeric a) => (CInt -> Ptr (Ptr a) -> Ptr CInt -> Ptr (Ptr CInt) -> CInt -> CInt -> Ptr CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> CInt -> CInt -> CInt -> Ptr a -> Ptr CInt -> Ptr CInt -> CInt -> CInt -> CInt -> IO CString) -> SparseMatrix r1 c1 a -> SparseMatrix r2 c2 a -> SparseMatrix r3 c3 a Source #

unsafeWith :: Storable a => Matrix n m a -> (Ptr a -> CInt -> CInt -> IO b) -> IO b Source #

Pass a pointer to the matrix's data to the IO action. The data may not be modified through the pointer.

unsafeWith' :: Storable a => MMatrix n m RealWorld a -> (Ptr a -> CInt -> CInt -> IO b) -> IO b Source #

unsafeWithS :: (Storable a, Zero a) => SparseMatrix n m a -> (Ptr a -> Ptr CInt -> Ptr CInt -> CInt -> CInt -> CInt -> IO b) -> IO b Source #

Pass a pointer to the matrix's data to the IO action. The data may not be modified through the pointer.