bug #1516: add assertion for out-of-range diagonal index in MatrixBase::diagonal(i)

(grafted from 8d0ffe3655
)
This commit is contained in:
Gael Guennebaud
2018-04-03 16:15:43 +02:00
parent 3fb42ff7b2
commit 273738ba6f
2 changed files with 11 additions and 3 deletions

View File

@@ -70,7 +70,10 @@ template<typename MatrixType, int _DiagIndex> class Diagonal
EIGEN_DENSE_PUBLIC_INTERFACE(Diagonal)
EIGEN_DEVICE_FUNC
explicit inline Diagonal(MatrixType& matrix, Index a_index = DiagIndex) : m_matrix(matrix), m_index(a_index) {}
explicit inline Diagonal(MatrixType& matrix, Index a_index = DiagIndex) : m_matrix(matrix), m_index(a_index)
{
eigen_assert( a_index <= m_matrix.cols() && -a_index <= m_matrix.rows() );
}
EIGEN_INHERIT_ASSIGNMENT_OPERATORS(Diagonal)