diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-07-25 17:55:07 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-07-25 17:55:07 +0200 |
commit | 4d54e3dd332b7f07eccb428df2e1e3074abc3aeb (patch) | |
tree | 12b3875bf38d7fec6e2c5ae6bbccf4a5073af772 /Eigen/src/Cholesky | |
parent | 34b483e25de4ed15977ec99b1677b0b9319bba0a (diff) |
bug #173: remove dependency to MKL for LAPACKe backend.
Diffstat (limited to 'Eigen/src/Cholesky')
-rw-r--r-- | Eigen/src/Cholesky/LLT_MKL.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Eigen/src/Cholesky/LLT_MKL.h b/Eigen/src/Cholesky/LLT_MKL.h index f5be3b240..f0f8600e4 100644 --- a/Eigen/src/Cholesky/LLT_MKL.h +++ b/Eigen/src/Cholesky/LLT_MKL.h @@ -40,10 +40,10 @@ namespace Eigen { namespace internal { -template<typename Scalar> struct mkl_llt; +template<typename Scalar> struct lapacke_llt; -#define EIGEN_MKL_LLT(EIGTYPE, MKLTYPE, MKLPREFIX) \ -template<> struct mkl_llt<EIGTYPE> \ +#define EIGEN_MKL_LLT(EIGTYPE, BLASTYPE, MKLPREFIX) \ +template<> struct lapacke_llt<EIGTYPE> \ { \ template<typename MatrixType> \ static inline Index potrf(MatrixType& m, char uplo) \ @@ -59,7 +59,7 @@ template<> struct mkl_llt<EIGTYPE> \ a = &(m.coeffRef(0,0)); \ lda = convert_index<lapack_int>(m.outerStride()); \ \ - info = LAPACKE_##MKLPREFIX##potrf( matrix_order, uplo, size, (MKLTYPE*)a, lda ); \ + info = LAPACKE_##MKLPREFIX##potrf( matrix_order, uplo, size, (BLASTYPE*)a, lda ); \ info = (info==0) ? -1 : info>0 ? info-1 : size; \ return info; \ } \ @@ -69,7 +69,7 @@ template<> struct llt_inplace<EIGTYPE, Lower> \ template<typename MatrixType> \ static Index blocked(MatrixType& m) \ { \ - return mkl_llt<EIGTYPE>::potrf(m, 'L'); \ + return lapacke_llt<EIGTYPE>::potrf(m, 'L'); \ } \ template<typename MatrixType, typename VectorType> \ static Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \ @@ -80,7 +80,7 @@ template<> struct llt_inplace<EIGTYPE, Upper> \ template<typename MatrixType> \ static Index blocked(MatrixType& m) \ { \ - return mkl_llt<EIGTYPE>::potrf(m, 'U'); \ + return lapacke_llt<EIGTYPE>::potrf(m, 'U'); \ } \ template<typename MatrixType, typename VectorType> \ static Index rankUpdate(MatrixType& mat, const VectorType& vec, const typename MatrixType::RealScalar& sigma) \ @@ -92,8 +92,8 @@ template<> struct llt_inplace<EIGTYPE, Upper> \ EIGEN_MKL_LLT(double, double, d) EIGEN_MKL_LLT(float, float, s) -EIGEN_MKL_LLT(dcomplex, MKL_Complex16, z) -EIGEN_MKL_LLT(scomplex, MKL_Complex8, c) +EIGEN_MKL_LLT(dcomplex, lapack_complex_double, z) +EIGEN_MKL_LLT(scomplex, lapack_complex_float, c) } // end namespace internal |