diff --git a/Eigen/src/Cholesky/LLT.h b/Eigen/src/Cholesky/LLT.h index 33a5c4165..685f0b01e 100644 --- a/Eigen/src/Cholesky/LLT.h +++ b/Eigen/src/Cholesky/LLT.h @@ -264,12 +264,13 @@ template<> struct llt_inplace typedef typename MatrixType::ColXpr ColXpr; typedef typename internal::remove_all::type ColXprCleaned; typedef typename ColXprCleaned::SegmentReturnType ColXprSegment; - typedef typename VectorType::SegmentReturnType VecSegment; + typedef typename MatrixType::Scalar Scalar; + typedef Matrix TempVectorType; + typedef typename TempVectorType::SegmentReturnType TempVecSegment; int n = mat.cols(); eigen_assert(mat.rows()==n && vec.size()==n); - typedef typename MatrixType::Scalar Scalar; - Matrix temp(vec); + TempVectorType temp(vec); for(int i=0; i struct llt_inplace if(rs>0) { ColXprSegment x(mat.col(i).tail(rs)); - VecSegment y(temp.tail(rs)); + TempVecSegment y(temp.tail(rs)); apply_rotation_in_the_plane(x, y, g); } }