aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/inverse.cpp
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2009-10-20 00:36:07 -0400
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2009-10-20 00:36:07 -0400
commit13f31b8daf4d67d6310c567de36a34afa7c6e18f (patch)
treeee7ff4bad04d312e81c70c15a08b8d32505bd5f3 /test/inverse.cpp
parentd1db1352f5632281a822fd0f1f59dd7d96b876a1 (diff)
* make PartialLU avoid to generate inf/nan when given a singular matrix
(result undefined, but at least it won't take forever on intel 387) * add lots of comments, especially to LU.h * fix stuff I had broken in Inverse.h * split inverse test
Diffstat (limited to 'test/inverse.cpp')
-rw-r--r--test/inverse.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/test/inverse.cpp b/test/inverse.cpp
index 65dfbc73e..6fc65786c 100644
--- a/test/inverse.cpp
+++ b/test/inverse.cpp
@@ -83,19 +83,21 @@ void test_inverse()
{
int s;
for(int i = 0; i < g_repeat; i++) {
- CALL_SUBTEST( inverse(Matrix<double,1,1>()) );
- CALL_SUBTEST( inverse(Matrix2d()) );
- CALL_SUBTEST( inverse(Matrix3f()) );
- CALL_SUBTEST( inverse(Matrix4f()) );
+ CALL_SUBTEST1( inverse(Matrix<double,1,1>()) );
+ CALL_SUBTEST2( inverse(Matrix2d()) );
+ CALL_SUBTEST3( inverse(Matrix3f()) );
+ CALL_SUBTEST4( inverse(Matrix4f()) );
s = ei_random<int>(50,320);
- CALL_SUBTEST( inverse(MatrixXf(s,s)) );
+ CALL_SUBTEST5( inverse(MatrixXf(s,s)) );
s = ei_random<int>(25,100);
- CALL_SUBTEST( inverse(MatrixXcd(s,s)) );
+ CALL_SUBTEST6( inverse(MatrixXcd(s,s)) );
}
+#ifdef EIGEN_TEST_PART_4
// test some tricky cases for 4x4 matrices
VERIFY_IS_APPROX((Matrix4f() << 0,0,1,0, 1,0,0,0, 0,1,0,0, 0,0,0,1).finished().inverse(),
(Matrix4f() << 0,1,0,0, 0,0,1,0, 1,0,0,0, 0,0,0,1).finished());
VERIFY_IS_APPROX((Matrix4f() << 1,0,0,0, 0,0,1,0, 0,0,0,1, 0,1,0,0).finished().inverse(),
(Matrix4f() << 1,0,0,0, 0,0,0,1, 0,1,0,0, 0,0,1,0).finished());
+#endif
}