mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-01-24 14:45:14 +08:00
Add support for mat(all) as an alias to mat.reshaped(mat.size(),fix<1>);
This commit is contained in:
parent
9081c8f6ea
commit
b3fc0007ae
@ -339,6 +339,8 @@ enum SideType {
|
|||||||
OnTheRight = 2
|
OnTheRight = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* the following used to be written as:
|
/* the following used to be written as:
|
||||||
*
|
*
|
||||||
* struct NoChange_t {};
|
* struct NoChange_t {};
|
||||||
|
@ -70,4 +70,13 @@ reshaped(NRowsType nRows, NColsType nCols, OrderType) const
|
|||||||
derived(), internal::get_runtime_value(nRows), internal::get_runtime_value(nCols));
|
derived(), internal::get_runtime_value(nRows), internal::get_runtime_value(nCols));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Views as linear vectors
|
||||||
|
|
||||||
|
EIGEN_DEVICE_FUNC
|
||||||
|
inline const Reshaped<const Derived,SizeAtCompileTime,1>
|
||||||
|
operator()(const Eigen::internal::all_t&)
|
||||||
|
{
|
||||||
|
return Reshaped<const Derived,SizeAtCompileTime,1>(derived(),size(),1);
|
||||||
|
}
|
||||||
|
|
||||||
#endif // EIGEN_PARSED_BY_DOXYGEN
|
#endif // EIGEN_PARSED_BY_DOXYGEN
|
||||||
|
@ -73,6 +73,13 @@ void reshape4x4(MatType m)
|
|||||||
MatrixXi m28r1 = m.reshaped(2,8,RowOrder);
|
MatrixXi m28r1 = m.reshaped(2,8,RowOrder);
|
||||||
MatrixXi m28r2 = m.transpose().reshaped(8,2,ColOrder).transpose();
|
MatrixXi m28r2 = m.transpose().reshaped(8,2,ColOrder).transpose();
|
||||||
VERIFY_IS_EQUAL( m28r1, m28r2);
|
VERIFY_IS_EQUAL( m28r1, m28r2);
|
||||||
|
|
||||||
|
using placeholders::all;
|
||||||
|
VERIFY_IS_EQUAL(m.reshaped(16,1), m(all));
|
||||||
|
VERIFY_IS_EQUAL(m.reshaped(1,16), m(all).transpose());
|
||||||
|
VERIFY_IS_EQUAL(m(all).reshaped(2,8), m.reshaped(2,8));
|
||||||
|
VERIFY_IS_EQUAL(m(all).reshaped(4,4), m.reshaped(4,4));
|
||||||
|
VERIFY_IS_EQUAL(m(all).reshaped(8,2), m.reshaped(8,2));
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_reshape()
|
void test_reshape()
|
||||||
|
Loading…
Reference in New Issue
Block a user