diff options
author | Gael Guennebaud <g.gael@free.fr> | 2011-12-09 16:52:37 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2011-12-09 16:52:37 +0100 |
commit | 37f304a2e651ccd1121cf48fa2b830f62c4d1420 (patch) | |
tree | 7dfd4ca354f8ff87389a63c90bda148fb69163e2 /Eigen/src/Core/util/MKL_support.h | |
parent | fff25a4b4629ef440945d9157a0ed7a93403e1f9 (diff) |
add a "using MKL" documentation page, add a minimal documentation of PARDISO wrapper classes, refine a bit the EIGEN_USE_* logic
Diffstat (limited to 'Eigen/src/Core/util/MKL_support.h')
-rw-r--r-- | Eigen/src/Core/util/MKL_support.h | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/Eigen/src/Core/util/MKL_support.h b/Eigen/src/Core/util/MKL_support.h index d605fc844..1e6e355d6 100644 --- a/Eigen/src/Core/util/MKL_support.h +++ b/Eigen/src/Core/util/MKL_support.h @@ -37,15 +37,19 @@ #ifndef EIGEN_USE_BLAS #define EIGEN_USE_BLAS #endif - #ifndef EIGEN_USE_MKL_CLAPACK - #define EIGEN_USE_MKL_CLAPACK + #ifndef EIGEN_USE_LAPACKE + #define EIGEN_USE_LAPACKE #endif #ifndef EIGEN_USE_MKL_VML #define EIGEN_USE_MKL_VML #endif #endif -#if defined(EIGEN_USE_MKL_CLAPACK) || defined(EIGEN_USE_MKL_VML) +#ifdef EIGEN_USE_LAPACKE_STRICT + #define EIGEN_USE_LAPACKE +#endif + +#if defined(EIGEN_USE_BLAS) || defined(EIGEN_USE_LAPACKE) || defined(EIGEN_USE_MKL_VML) #define EIGEN_USE_MKL #endif @@ -55,17 +59,6 @@ #include <mkl_lapacke.h> #define EIGEN_MKL_VML_THRESHOLD 128 -#elif defined EIGEN_USE_BLAS - -#error Currently EIGEN_USE_BLAS requires Intel MKL. If you want to use MKL's BLAS and only it, then define EIGEN_USE_MKL too. - -#include "../../misc/blas.h" -#define MKL_INT int - -#endif - -#if defined(EIGEN_USE_MKL) || defined(EIGEN_USE_BLAS) - namespace Eigen { typedef std::complex<double> dcomplex; @@ -83,7 +76,6 @@ static inline void assign_conj_scalar_eig2mkl(MKLType& mklScalar, const EigenTyp mklScalar=eigenScalar; } -#ifdef EIGEN_USE_MKL template <> inline void assign_scalar_eig2mkl<MKL_Complex16,dcomplex>(MKL_Complex16& mklScalar, const dcomplex& eigenScalar) { mklScalar.real=eigenScalar.real(); @@ -108,8 +100,6 @@ inline void assign_conj_scalar_eig2mkl<MKL_Complex8,scomplex>(MKL_Complex8& mklS mklScalar.imag=-eigenScalar.imag(); } -#endif - } // end namespace internal } // end namespace Eigen |