33#ifndef EIGEN_MKL_SUPPORT_H
34#define EIGEN_MKL_SUPPORT_H
36#ifdef EIGEN_USE_MKL_ALL
37 #ifndef EIGEN_USE_BLAS
38 #define EIGEN_USE_BLAS
40 #ifndef EIGEN_USE_LAPACKE
41 #define EIGEN_USE_LAPACKE
43 #ifndef EIGEN_USE_MKL_VML
44 #define EIGEN_USE_MKL_VML
48#ifdef EIGEN_USE_LAPACKE_STRICT
49 #define EIGEN_USE_LAPACKE
52#if defined(EIGEN_USE_MKL_VML) && !defined(EIGEN_USE_MKL)
57#if defined EIGEN_USE_MKL
58# if (!defined MKL_DIRECT_CALL) && (!defined EIGEN_MKL_NO_DIRECT_CALL)
59# define MKL_DIRECT_CALL
60# define MKL_DIRECT_CALL_JUST_SET
64# ifndef INTEL_MKL_VERSION
66# elif INTEL_MKL_VERSION < 100305
71# undef EIGEN_USE_MKL_ALL
72# undef EIGEN_USE_LAPACKE
73# undef EIGEN_USE_MKL_VML
74# undef EIGEN_USE_LAPACKE_STRICT
75# undef EIGEN_USE_LAPACKE
76# ifdef MKL_DIRECT_CALL_JUST_SET
77# undef MKL_DIRECT_CALL
82#if defined EIGEN_USE_MKL
84#define EIGEN_MKL_VML_THRESHOLD 128
89#define EIGEN_MKL_DOMAIN_ALL MKL_DOMAIN_ALL
91#define EIGEN_MKL_DOMAIN_ALL MKL_ALL
95#define EIGEN_MKL_DOMAIN_BLAS MKL_DOMAIN_BLAS
97#define EIGEN_MKL_DOMAIN_BLAS MKL_BLAS
101#define EIGEN_MKL_DOMAIN_FFT MKL_DOMAIN_FFT
103#define EIGEN_MKL_DOMAIN_FFT MKL_FFT
107#define EIGEN_MKL_DOMAIN_VML MKL_DOMAIN_VML
109#define EIGEN_MKL_DOMAIN_VML MKL_VML
112#ifdef MKL_DOMAIN_PARDISO
113#define EIGEN_MKL_DOMAIN_PARDISO MKL_DOMAIN_PARDISO
115#define EIGEN_MKL_DOMAIN_PARDISO MKL_PARDISO
119#if defined(EIGEN_USE_BLAS) && !defined(EIGEN_USE_MKL)
120#include "../../misc/blas.h"
125typedef std::complex<double> dcomplex;
126typedef std::complex<float> scomplex;
128#if defined(EIGEN_USE_MKL)
129typedef MKL_INT BlasIndex;
131typedef int BlasIndex;
Namespace containing all symbols from the Eigen library.
Definition: Core:141