aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2011-01-25 21:22:04 -0500
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2011-01-25 21:22:04 -0500
commit1d98cc5e5da88254c784c4f02517bf5a47f007bc (patch)
treede9bc9696892cf0bfa35a820b19b34524f4c954d /test
parent4fbadfd230af9859c5e82c09a4974396af45473f (diff)
eigen2 support: implement part<SelfAdjoint>, mimic eigen2 behavior braindeadness-for-braindeadness
Diffstat (limited to 'test')
-rw-r--r--test/eigen2/eigen2_triangular.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/eigen2/eigen2_triangular.cpp b/test/eigen2/eigen2_triangular.cpp
index c81fad0da..43b42e3a5 100644
--- a/test/eigen2/eigen2_triangular.cpp
+++ b/test/eigen2/eigen2_triangular.cpp
@@ -124,8 +124,37 @@ template<typename MatrixType> void triangular(const MatrixType& m)
}
+void selfadjoint()
+{
+ Matrix2i m;
+ m << 1, 2,
+ 3, 4;
+
+ 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_eigen2_triangular()
{
+ CALL_SUBTEST_8( selfadjoint() );
for(int i = 0; i < g_repeat ; i++) {
CALL_SUBTEST_1( triangular(Matrix<float, 1, 1>()) );
CALL_SUBTEST_2( triangular(Matrix<float, 2, 2>()) );