aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/inverse.cpp
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2009-10-26 14:16:50 -0400
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2009-10-26 14:16:50 -0400
commit44cdbaba4d084b31854ed5bec58f2887f0479b81 (patch)
tree36d0a427be6ee4dcf9c61eb3a6345b703e043f40 /test/inverse.cpp
parent07d1bcffda9436fe8ce8c56091d68841b8c3be59 (diff)
* make inverse() do a ReturnByValue
* add computeInverseWithCheck * doc improvements * update test
Diffstat (limited to 'test/inverse.cpp')
-rw-r--r--test/inverse.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/inverse.cpp b/test/inverse.cpp
index b8170a738..269678fd4 100644
--- a/test/inverse.cpp
+++ b/test/inverse.cpp
@@ -68,17 +68,26 @@ template<typename MatrixType> void inverse(const MatrixType& m)
//First: an invertible matrix
bool invertible;
RealScalar det;
+
+ m2.setZero();
m1.computeInverseAndDetWithCheck(m2, det, invertible);
VERIFY(invertible);
VERIFY_IS_APPROX(identity, m1*m2);
VERIFY_IS_APPROX(det, m1.determinant());
+ m2.setZero();
+ m1.computeInverseWithCheck(m2, invertible);
+ VERIFY(invertible);
+ VERIFY_IS_APPROX(identity, m1*m2);
+
//Second: a rank one matrix (not invertible, except for 1x1 matrices)
VectorType v3 = VectorType::Random(rows);
MatrixType m3 = v3*v3.transpose(), m4(rows,cols);
m3.computeInverseAndDetWithCheck(m4, det, invertible);
VERIFY( rows==1 ? invertible : !invertible );
VERIFY_IS_APPROX(det, m3.determinant());
+ m3.computeInverseWithCheck(m4, invertible);
+ VERIFY( rows==1 ? invertible : !invertible );
#endif
}