aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/eigensolver_complex.cpp
diff options
context:
space:
mode:
authorGravatar Jitse Niesen <jitse@maths.leeds.ac.uk>2010-05-30 21:49:35 +0100
committerGravatar Jitse Niesen <jitse@maths.leeds.ac.uk>2010-05-30 21:49:35 +0100
commitdb8631b66a4f5cb9957a58cc629be5ef438e3059 (patch)
tree50a3ef1425a13e183f42ae36dd34087899e06460 /test/eigensolver_complex.cpp
parent6ce22a61b3a2560a5464b368bee64555645da59f (diff)
Guard with assert against using decomposition objects uninitialized.
Diffstat (limited to 'test/eigensolver_complex.cpp')
-rw-r--r--test/eigensolver_complex.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/eigensolver_complex.cpp b/test/eigensolver_complex.cpp
index 5c5d7b38f..4437d9811 100644
--- a/test/eigensolver_complex.cpp
+++ b/test/eigensolver_complex.cpp
@@ -76,6 +76,13 @@ template<typename MatrixType> void eigensolver(const MatrixType& m)
VERIFY_IS_APPROX(id.operatorNorm(), RealScalar(1));
}
+template<typename MatrixType> void eigensolver_verify_assert()
+{
+ ComplexEigenSolver<MatrixType> eig;
+ VERIFY_RAISES_ASSERT(eig.eigenvectors())
+ VERIFY_RAISES_ASSERT(eig.eigenvalues())
+}
+
void test_eigensolver_complex()
{
for(int i = 0; i < g_repeat; i++) {
@@ -85,6 +92,11 @@ void test_eigensolver_complex()
CALL_SUBTEST_4( eigensolver(Matrix3f()) );
}
+ CALL_SUBTEST_1( eigensolver_verify_assert(Matrix4cf()) );
+ CALL_SUBTEST_2( eigensolver_verify_assert(MatrixXcd(14,14)) );
+ CALL_SUBTEST_3( eigensolver_verify_assert(Matrix<std::complex<float>, 1, 1>()) );
+ CALL_SUBTEST_4( eigensolver_verify_assert(Matrix3f()) );
+
// Test problem size constructors
CALL_SUBTEST_5(ComplexEigenSolver<MatrixXf>(10));
}