mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-07-08 06:01:48 +08:00
add part<SelfAdjoint>... it's never too late and I need this for eigen2support
This commit is contained in:
parent
0c8a25ef94
commit
1869a02f52
@ -121,11 +121,40 @@ template<typename MatrixType> void triangular(const MatrixType& m)
|
||||
m3.setZero();
|
||||
m3.template part<Eigen::UpperTriangular>().setOnes();
|
||||
VERIFY_IS_APPROX(m2,m3);
|
||||
}
|
||||
|
||||
void selfadjoint()
|
||||
{
|
||||
Matrix2i m;
|
||||
m << 1, 2,
|
||||
3, 4;
|
||||
VERIFY(m.part<SelfAdjoint>() == m);
|
||||
|
||||
Matrix2i m1 = Matrix2i::Zero();
|
||||
m1.part<SelfAdjoint>() = m;
|
||||
Matrix2i ref1;
|
||||
ref1 << 1, 2,
|
||||
2, 4;
|
||||
VERIFY(m1 == ref1);
|
||||
|
||||
Matrix2i m2 = Matrix2i::Zero();
|
||||
m2.part<SelfAdjoint>() = m.part<UpperTriangular>();
|
||||
Matrix2i ref2;
|
||||
ref2 << 1, 2,
|
||||
2, 4;
|
||||
VERIFY(m2 == ref2);
|
||||
|
||||
Matrix2i m3 = Matrix2i::Zero();
|
||||
m3.part<SelfAdjoint>() = m.part<LowerTriangular>();
|
||||
Matrix2i ref3;
|
||||
ref3 << 1, 0,
|
||||
0, 4;
|
||||
VERIFY(m3 == ref3);
|
||||
}
|
||||
|
||||
void test_triangular()
|
||||
{
|
||||
CALL_SUBTEST( selfadjoint() );
|
||||
for(int i = 0; i < g_repeat ; i++) {
|
||||
CALL_SUBTEST( triangular(Matrix<float, 1, 1>()) );
|
||||
CALL_SUBTEST( triangular(Matrix<float, 2, 2>()) );
|
||||
|
Loading…
x
Reference in New Issue
Block a user