mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Add a DynamicIndex constant for signed quantities and use it to fix the conflict
between Diagonal<S,-1> (the first sub diagonal) and a runtime super/sub diagonal which is now: Diagonal<S,DynamicIndex>
This commit is contained in:
@@ -46,17 +46,14 @@ template<typename MatrixType> void diagonal(const MatrixType& m)
|
||||
if (rows>2)
|
||||
{
|
||||
enum {
|
||||
N1 = MatrixType::RowsAtCompileTime>1 ? 1 : 0,
|
||||
N2 = MatrixType::RowsAtCompileTime>2 ? -2 : 0
|
||||
N1 = MatrixType::RowsAtCompileTime>2 ? 2 : 0,
|
||||
N2 = MatrixType::RowsAtCompileTime>1 ? -1 : 0
|
||||
};
|
||||
|
||||
// check sub/super diagonal
|
||||
if(m1.template diagonal<N1>().RowsAtCompileTime!=Dynamic)
|
||||
if(MatrixType::SizeAtCompileTime!=Dynamic)
|
||||
{
|
||||
VERIFY(m1.template diagonal<N1>().RowsAtCompileTime == m1.diagonal(N1).size());
|
||||
}
|
||||
if(m1.template diagonal<N2>().RowsAtCompileTime!=Dynamic)
|
||||
{
|
||||
VERIFY(m1.template diagonal<N2>().RowsAtCompileTime == m1.diagonal(N2).size());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user