34#ifndef EIGEN_QR_LAPACKE_H
35#define EIGEN_QR_LAPACKE_H
43#define EIGEN_LAPACKE_QR_NOPIV(EIGTYPE, LAPACKE_TYPE, LAPACKE_PREFIX) \
44template<typename MatrixQR, typename HCoeffs> \
45struct 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(); \
59EIGEN_LAPACKE_QR_NOPIV(
double,
double, d)
60EIGEN_LAPACKE_QR_NOPIV(
float,
float, s)
61EIGEN_LAPACKE_QR_NOPIV(dcomplex, lapack_complex_double, z)
62EIGEN_LAPACKE_QR_NOPIV(scomplex, lapack_complex_float, c)
Namespace containing all symbols from the Eigen library.
Definition: Core:141