Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class (Zero a, Storable a, Num a) => Numeric a where
- foreignType :: a -> CInt
- type Matrix r c a = Matrix r c Vector a
- type MMatrix r c s a = MMatrix r c MVector s a
- type SparseMatrix r c a = SparseMatrix r c Vector a
- 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
- 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
- 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
- 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
- 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
- unsafeWith :: Storable a => Matrix n m a -> (Ptr a -> CInt -> CInt -> IO b) -> IO b
- unsafeWith' :: Storable a => MMatrix n m RealWorld a -> (Ptr a -> CInt -> CInt -> IO b) -> IO b
- unsafeWithS :: (Storable a, Zero a) => SparseMatrix n m a -> (Ptr a -> Ptr CInt -> Ptr CInt -> CInt -> CInt -> CInt -> IO b) -> IO b
Documentation
class (Zero a, Storable a, Num a) => Numeric a where Source #
foreignType :: a -> CInt Source #
Instances
Numeric Double Source # | |
Defined in Data.Matrix.Static.LinearAlgebra.Types foreignType :: Double -> CInt Source # | |
Numeric Float Source # | |
Defined in Data.Matrix.Static.LinearAlgebra.Types foreignType :: Float -> CInt Source # | |
Numeric (Complex Double) Source # | |
Defined in Data.Matrix.Static.LinearAlgebra.Types | |
Numeric (Complex Float) Source # | |
Defined in Data.Matrix.Static.LinearAlgebra.Types |
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.