From 36379e29fe99b033313f42464897c32b9805559d Mon Sep 17 00:00:00 2001 From: Alberto Ruiz Date: Sat, 23 May 2015 12:09:45 +0200 Subject: multiplyI --- packages/base/src/Numeric/LinearAlgebra/LAPACK.hs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'packages/base/src/Numeric') diff --git a/packages/base/src/Numeric/LinearAlgebra/LAPACK.hs b/packages/base/src/Numeric/LinearAlgebra/LAPACK.hs index d96e14f..219d996 100644 --- a/packages/base/src/Numeric/LinearAlgebra/LAPACK.hs +++ b/packages/base/src/Numeric/LinearAlgebra/LAPACK.hs @@ -14,7 +14,7 @@ module Numeric.LinearAlgebra.LAPACK ( -- * Matrix product - multiplyR, multiplyC, multiplyF, multiplyQ, + multiplyR, multiplyC, multiplyF, multiplyQ, multiplyI, -- * Linear systems linearSolveR, linearSolveC, mbLinearSolveR, mbLinearSolveC, @@ -58,6 +58,7 @@ foreign import ccall unsafe "multiplyR" dgemmc :: CInt -> CInt -> TMMM foreign import ccall unsafe "multiplyC" zgemmc :: CInt -> CInt -> TCMCMCM foreign import ccall unsafe "multiplyF" sgemmc :: CInt -> CInt -> TFMFMFM foreign import ccall unsafe "multiplyQ" cgemmc :: CInt -> CInt -> TQMQMQM +foreign import ccall unsafe "multiplyI" c_multiplyI :: CInt -> CInt -> (CM CInt (CM CInt (CM CInt (IO CInt)))) isT Matrix{order = ColumnMajor} = 0 isT Matrix{order = RowMajor} = 1 @@ -88,6 +89,10 @@ multiplyF a b = multiplyAux sgemmc "sgemmc" a b multiplyQ :: Matrix (Complex Float) -> Matrix (Complex Float) -> Matrix (Complex Float) multiplyQ a b = multiplyAux cgemmc "cgemmc" a b +multiplyI :: Matrix CInt -> Matrix CInt -> Matrix CInt +multiplyI = multiplyAux c_multiplyI "c_multiplyI" + + ----------------------------------------------------------------------------- foreign import ccall unsafe "svd_l_R" dgesvd :: TMMVM foreign import ccall unsafe "svd_l_C" zgesvd :: TCMCMVCM -- cgit v1.2.3