34 #ifndef EIGEN_QR_LAPACKE_H    35 #define EIGEN_QR_LAPACKE_H    43 #define EIGEN_LAPACKE_QR_NOPIV(EIGTYPE, LAPACKE_TYPE, LAPACKE_PREFIX) \    44 template<typename MatrixQR, typename HCoeffs> \    45 struct householder_qr_inplace_blocked<MatrixQR, HCoeffs, EIGTYPE, true> \    47   static void run(MatrixQR& mat, HCoeffs& hCoeffs, Index = 32, \    48       typename MatrixQR::Scalar* = 0) \    50     lapack_int m = (lapack_int) mat.rows(); \    51     lapack_int n = (lapack_int) mat.cols(); \    52     lapack_int lda = (lapack_int) mat.outerStride(); \    53     lapack_int matrix_order = (MatrixQR::IsRowMajor) ? LAPACK_ROW_MAJOR : LAPACK_COL_MAJOR; \    54     LAPACKE_##LAPACKE_PREFIX##geqrf( matrix_order, m, n, (LAPACKE_TYPE*)mat.data(), lda, (LAPACKE_TYPE*)hCoeffs.data()); \    55     hCoeffs.adjointInPlace(); \    68 #endif // EIGEN_QR_LAPACKE_H #define lapack_complex_float
std::complex< float > scomplex
std::complex< double > dcomplex
#define EIGEN_LAPACKE_QR_NOPIV(EIGTYPE, LAPACKE_TYPE, LAPACKE_PREFIX)
#define lapack_complex_double