aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/util/MKL_support.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2011-12-09 16:52:37 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2011-12-09 16:52:37 +0100
commit37f304a2e651ccd1121cf48fa2b830f62c4d1420 (patch)
tree7dfd4ca354f8ff87389a63c90bda148fb69163e2 /Eigen/src/Core/util/MKL_support.h
parentfff25a4b4629ef440945d9157a0ed7a93403e1f9 (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.h24
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