fix lapacke config
This commit is contained in:
		
							parent
							
								
									3460f3558e
								
							
						
					
					
						commit
						2a90653395
					
				| @ -155,6 +155,14 @@ using std::ptrdiff_t; | ||||
|   * \endcode | ||||
|   */ | ||||
| 
 | ||||
| #ifdef EIGEN_USE_LAPACKE | ||||
|   #ifdef EIGEN_USE_MKL | ||||
|     #include "mkl_lapacke.h" | ||||
|   #else | ||||
|     #include "src/misc/lapacke.h" | ||||
|   #endif | ||||
| #endif | ||||
| 
 | ||||
| #include "src/Core/util/Constants.h" | ||||
| #include "src/Core/util/Meta.h" | ||||
| #include "src/Core/util/Assert.h" | ||||
|  | ||||
| @ -119,33 +119,30 @@ namespace Eigen { | ||||
|       ColPivHouseholderQR_LAPACKE_impl<MatrixType>::init(rows, cols, m_hCoeffs, m_colsPermutation, m_isInitialized, \ | ||||
|                                                          m_usePrescribedThreshold); }                               \ | ||||
| 
 | ||||
|     #define COLPIVQR_LAPACKE(EIGTYPE)          \ | ||||
|       COLPIVQR_LAPACKE_COMPUTEINPLACE(EIGTYPE) \ | ||||
|       COLPIVQR_LAPACKE_INIT(EIGTYPE)           \ | ||||
|     #define COLPIVQR_LAPACKE(EIGTYPE)               \ | ||||
|       COLPIVQR_LAPACKE_COMPUTEINPLACE(EIGTYPE)      \ | ||||
|       COLPIVQR_LAPACKE_INIT(EIGTYPE)                \ | ||||
|       COLPIVQR_LAPACKE_COMPUTEINPLACE(Ref<EIGTYPE>) \ | ||||
|       COLPIVQR_LAPACKE_INIT(Ref<EIGTYPE>)           \ | ||||
| 
 | ||||
|     typedef Matrix<float, Dynamic, Dynamic, RowMajor> MatrixXfR; | ||||
|     typedef Matrix<double, Dynamic, Dynamic, RowMajor> MatrixXdR; | ||||
|     typedef Matrix<scomplex, Dynamic, Dynamic, RowMajor> MatrixXcfR; | ||||
|     typedef Matrix<dcomplex, Dynamic, Dynamic, RowMajor> MatrixXcdR; | ||||
|     typedef Matrix<float,                 Dynamic, Dynamic, ColMajor> MatrixXfC; | ||||
|     typedef Matrix<double,                Dynamic, Dynamic, ColMajor> MatrixXdC; | ||||
|     typedef Matrix<lapack_complex_float,  Dynamic, Dynamic, ColMajor> MatrixXcfC; | ||||
|     typedef Matrix<lapack_complex_double, Dynamic, Dynamic, ColMajor> MatrixXcdC; | ||||
|     typedef Matrix<float,                 Dynamic, Dynamic, RowMajor> MatrixXfR; | ||||
|     typedef Matrix<double,                Dynamic, Dynamic, RowMajor> MatrixXdR; | ||||
|     typedef Matrix<lapack_complex_float,  Dynamic, Dynamic, RowMajor> MatrixXcfR; | ||||
|     typedef Matrix<lapack_complex_double, Dynamic, Dynamic, RowMajor> MatrixXcdR; | ||||
| 
 | ||||
|     COLPIVQR_LAPACKE(MatrixXf) | ||||
|     COLPIVQR_LAPACKE(MatrixXd) | ||||
|     COLPIVQR_LAPACKE(MatrixXcf) | ||||
|     COLPIVQR_LAPACKE(MatrixXcd) | ||||
|     COLPIVQR_LAPACKE(MatrixXfC) | ||||
|     COLPIVQR_LAPACKE(MatrixXdC) | ||||
|     COLPIVQR_LAPACKE(MatrixXcfC) | ||||
|     COLPIVQR_LAPACKE(MatrixXcdC) | ||||
|     COLPIVQR_LAPACKE(MatrixXfR) | ||||
|     COLPIVQR_LAPACKE(MatrixXdR) | ||||
|     COLPIVQR_LAPACKE(MatrixXcfR) | ||||
|     COLPIVQR_LAPACKE(MatrixXcdR) | ||||
| 
 | ||||
|     COLPIVQR_LAPACKE(Ref<MatrixXf>) | ||||
|     COLPIVQR_LAPACKE(Ref<MatrixXd>) | ||||
|     COLPIVQR_LAPACKE(Ref<MatrixXcf>) | ||||
|     COLPIVQR_LAPACKE(Ref<MatrixXcd>) | ||||
|     COLPIVQR_LAPACKE(Ref<MatrixXfR>) | ||||
|     COLPIVQR_LAPACKE(Ref<MatrixXdR>) | ||||
|     COLPIVQR_LAPACKE(Ref<MatrixXcfR>) | ||||
|     COLPIVQR_LAPACKE(Ref<MatrixXcdR>) | ||||
| 
 | ||||
| #endif | ||||
| }  // end namespace Eigen
 | ||||
| 
 | ||||
|  | ||||
| @ -46,7 +46,11 @@ | ||||
| #include <stdlib.h> | ||||
| 
 | ||||
| #ifndef lapack_int | ||||
| #define lapack_int     int | ||||
|   #ifdef LAPACK_ILP64 | ||||
|     #define lapack_int int64_t | ||||
|   #else | ||||
|     #define lapack_int int | ||||
|   #endif | ||||
| #endif | ||||
| 
 | ||||
| #ifndef lapack_logical | ||||
| @ -72,8 +76,7 @@ | ||||
| 
 | ||||
| /* Complex type (single precision) */ | ||||
| #ifndef lapack_complex_float | ||||
| #include <complex.h> | ||||
| #define lapack_complex_float    float _Complex | ||||
| #define lapack_complex_float std::complex<float> | ||||
| #endif | ||||
| 
 | ||||
| #ifndef lapack_complex_float_real | ||||
| @ -88,8 +91,7 @@ lapack_complex_float lapack_make_complex_float( float re, float im ); | ||||
| 
 | ||||
| /* Complex type (double precision) */ | ||||
| #ifndef lapack_complex_double | ||||
| #include <complex.h> | ||||
| #define lapack_complex_double   double _Complex | ||||
| #define lapack_complex_double std::complex<double> | ||||
| #endif | ||||
| 
 | ||||
| #ifndef lapack_complex_double_real | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Charles Schlosser
						Charles Schlosser