compilation fails for BDCSVD on intel compilers
Submitted by eugvas
Assigned to Nobody
Link to original bugzilla bug (#1511)
Version: 3.5 (future version)
Operating system: Linux
Description
the following test file fails to compile using Intel compiler (v.13 or v.15):
-- test.cpp --
#include <Eigen/SVD>
void test(const Eigen::MatrixXd& M) {
Eigen::BDCSVDEigen::MatrixXd svd(M);
}
int main() {}
-- end --
the following error is displayed:
Eigen/src/Jacobi/Jacobi.h(467): error: expression must have a constant value
Vectorizable>::run(x,incrx,y,incry,size,c,s);
^
detected during:
instantiation of "void Eigen::MatrixBase<Derived>::applyOnTheLeft(Eigen::Index={ptrdiff_t={long}}, Eigen::Index={ptrdiff_t={long}}, const Eigen::JacobiRotation<OtherScalar> &) [with Derived=Eigen::Matrix<double, 2, 2, 0, 2, 2>, OtherScalar=double]" at line 46 of "Eigen/src/misc/RealSvd2x2.h"
instantiation of "void Eigen::internal::real_2x2_jacobi_svd(const MatrixType &, Index, Index, Eigen::JacobiRotation<RealScalar> *, Eigen::JacobiRotation<RealScalar> *) [with MatrixType=Eigen::Matrix<double, -1, -1, 0, -1, -1>, RealScalar=double, Index=Eigen::Index={ptrdiff_t={long}}]" at line 722 of "Eigen/src/SVD/JacobiSVD.h"
instantiation of "Eigen::JacobiSVD<_MatrixType, QRPreconditioner> &Eigen::JacobiSVD<_MatrixType, QRPreconditioner>::compute(const Eigen::JacobiSVD<_MatrixType, QRPreconditioner>::MatrixType &, unsigned int) [with _MatrixType=Eigen::Matrix<double, -1, -1, 0, -1, -1>, QRPreconditioner=2]" at line 548 of "Eigen/src/SVD/JacobiSVD.h"
instantiation of "Eigen::JacobiSVD<_MatrixType, QRPreconditioner>::JacobiSVD(const Eigen::JacobiSVD<_MatrixType, QRPreconditioner>::MatrixType &, unsigned int) [with _MatrixType=Eigen::Matrix<double, -1, -1, 0, -1, -1>, QRPreconditioner=2]" at line 257 of "Eigen/src/SVD/BDCSVD.h"
instantiation of "Eigen::BDCSVD<_MatrixType> &Eigen::BDCSVD<_MatrixType>::compute(const Eigen::BDCSVD<_MatrixType>::MatrixType &, unsigned int) [with _MatrixType=Eigen::MatrixXd]" at line 142 of "Eigen/src/SVD/BDCSVD.h"
instantiation of "Eigen::BDCSVD<_MatrixType>::BDCSVD(const Eigen::BDCSVD<_MatrixType>::MatrixType &, unsigned int) [with _MatrixType=Eigen::MatrixXd]" at line 3 of "test.cpp"