diff options
author | Gael Guennebaud <g.gael@free.fr> | 2016-07-13 18:46:01 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2016-07-13 18:46:01 +0200 |
commit | 461cd819c276a3f20bf60930c68fe5b72168b927 (patch) | |
tree | d63aa2eebb31c1faf294832ff67b9e17e21d14b1 /Eigen | |
parent | 20f7ef2f89abb1773366459bf02d2382f5e2912a (diff) |
Workaround VS2015 bug
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Eigenvalues/GeneralizedEigenSolver.h | 5 |
1 files 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<MatrixType>::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<RealScalar,2,2> S2 = m_matS.template block<2,2>(i,i) * Matrix<Scalar,2,1>(b,a).asDiagonal(); Scalar p = Scalar(0.5) * (S2.coeff(0,0) - S2.coeff(1,1)); |