diff options
author | Gael Guennebaud <g.gael@free.fr> | 2018-04-03 16:15:43 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2018-04-03 16:15:43 +0200 |
commit | 8d0ffe36552aeeb5f46d9c652edc45c68e536cdd (patch) | |
tree | e0f76aa4ea0b1b930e4d1cf0ecaab7c956964fb6 /Eigen/src/Core/Diagonal.h | |
parent | 407e3e2621077a6cd768042c88c652ad75a085ae (diff) |
bug #1516: add assertion for out-of-range diagonal index in MatrixBase::diagonal(i)
Diffstat (limited to 'Eigen/src/Core/Diagonal.h')
-rw-r--r-- | Eigen/src/Core/Diagonal.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Eigen/src/Core/Diagonal.h b/Eigen/src/Core/Diagonal.h index c62f5ff21..563135fb2 100644 --- a/Eigen/src/Core/Diagonal.h +++ b/Eigen/src/Core/Diagonal.h @@ -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) |