From 461cd819c276a3f20bf60930c68fe5b72168b927 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 13 Jul 2016 18:46:01 +0200 Subject: [PATCH] Workaround VS2015 bug --- Eigen/src/Eigenvalues/GeneralizedEigenSolver.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h b/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h index 19730f9e4..6eeeb174e 100644 --- a/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +++ b/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h @@ -333,8 +333,9 @@ GeneralizedEigenSolver::compute(const MatrixType& A, const MatrixTyp // T = [a 0] // [0 b] - RealScalar a = matT.coeff(i, i), - b = matT(i+1, i+1); // NOTE: using operator() instead of coeff() workarounds a MSVC bug. + RealScalar a = matT.diagonal().coeff(i), + b = matT.diagonal().coeff(i+1); + // ^^ NOTE: using diagonal()(i) instead of coeff(i,i) workarounds a MSVC bug. Matrix S2 = m_matS.template block<2,2>(i,i) * Matrix(b,a).asDiagonal(); Scalar p = Scalar(0.5) * (S2.coeff(0,0) - S2.coeff(1,1));