mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-24 02:29:33 +08:00
Fix max-size in indexed-view
This commit is contained in:
parent
bf495859ff
commit
f62a0f69c6
@ -21,8 +21,8 @@ struct traits<IndexedView<XprType, RowIndices, ColIndices> >
|
||||
enum {
|
||||
RowsAtCompileTime = int(array_size<RowIndices>::value),
|
||||
ColsAtCompileTime = int(array_size<ColIndices>::value),
|
||||
MaxRowsAtCompileTime = RowsAtCompileTime != Dynamic ? int(RowsAtCompileTime) : int(traits<XprType>::MaxRowsAtCompileTime),
|
||||
MaxColsAtCompileTime = ColsAtCompileTime != Dynamic ? int(ColsAtCompileTime) : int(traits<XprType>::MaxColsAtCompileTime),
|
||||
MaxRowsAtCompileTime = RowsAtCompileTime != Dynamic ? int(RowsAtCompileTime) : Dynamic,
|
||||
MaxColsAtCompileTime = ColsAtCompileTime != Dynamic ? int(ColsAtCompileTime) : Dynamic,
|
||||
|
||||
XprTypeIsRowMajor = (int(traits<XprType>::Flags)&RowMajorBit) != 0,
|
||||
IsRowMajor = (MaxRowsAtCompileTime==1&&MaxColsAtCompileTime!=1) ? 1
|
||||
|
@ -408,6 +408,13 @@ void check_indexed_view()
|
||||
VERIFY_IS_EQUAL( A(i,i), A.coeff(i_sizet, i_short) );
|
||||
VERIFY_IS_EQUAL( A(i,i), A.coeff(5, i_sizet) );
|
||||
|
||||
// Regression test for Max{Rows,Cols}AtCompileTime
|
||||
{
|
||||
Matrix3i A3 = Matrix3i::Random();
|
||||
ArrayXi ind(5); ind << 1,1,1,1,1;
|
||||
VERIFY_IS_EQUAL( A3(ind,ind).eval(), MatrixXi::Constant(5,5,A3(1,1)) );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
EIGEN_DECLARE_TEST(indexed_view)
|
||||
|
Loading…
x
Reference in New Issue
Block a user