diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-10-26 16:00:25 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-10-26 16:00:25 +0100 |
commit | f93654ae16b261e462ee00c5255072f8dd7d387b (patch) | |
tree | f9419de7849cd11f515a395e20081bcf684ac7de /test | |
parent | af2e25d482c4cca04701371785f3d08211ea4a2c (diff) |
bug #1098: fix regression introduced when generalizing some compute() methods in changeset 7031a851d45a8526474ac1ac972ad12a48e99f1a
.
Diffstat (limited to 'test')
-rw-r--r-- | test/eigensolver_complex.cpp | 6 | ||||
-rw-r--r-- | test/eigensolver_generalized_real.cpp | 8 | ||||
-rw-r--r-- | test/eigensolver_generic.cpp | 6 | ||||
-rw-r--r-- | test/eigensolver_selfadjoint.cpp | 6 |
4 files changed, 26 insertions, 0 deletions
diff --git a/test/eigensolver_complex.cpp b/test/eigensolver_complex.cpp index 0d4e2dc87..ad982ed40 100644 --- a/test/eigensolver_complex.cpp +++ b/test/eigensolver_complex.cpp @@ -125,6 +125,12 @@ template<typename MatrixType> void eigensolver(const MatrixType& m) ComplexEigenSolver<MatrixType> eiNaN(a); VERIFY_IS_EQUAL(eiNaN.info(), NoConvergence); } + + // regression test for bug 1098 + { + ComplexEigenSolver<MatrixType> eig(a.adjoint() * a); + eig.compute(a.adjoint() * a); + } } template<typename MatrixType> void eigensolver_verify_assert(const MatrixType& m) diff --git a/test/eigensolver_generalized_real.cpp b/test/eigensolver_generalized_real.cpp index 566a4bdc6..a46a2e50e 100644 --- a/test/eigensolver_generalized_real.cpp +++ b/test/eigensolver_generalized_real.cpp @@ -39,6 +39,14 @@ template<typename MatrixType> void generalized_eigensolver_real(const MatrixType VectorType realEigenvalues = eig.eigenvalues().real(); std::sort(realEigenvalues.data(), realEigenvalues.data()+realEigenvalues.size()); VERIFY_IS_APPROX(realEigenvalues, symmEig.eigenvalues()); + + // regression test for bug 1098 + { + GeneralizedSelfAdjointEigenSolver<MatrixType> eig1(a.adjoint() * a,b.adjoint() * b); + eig1.compute(a.adjoint() * a,b.adjoint() * b); + GeneralizedEigenSolver<MatrixType> eig2(a.adjoint() * a,b.adjoint() * b); + eig2.compute(a.adjoint() * a,b.adjoint() * b); + } } void test_eigensolver_generalized_real() diff --git a/test/eigensolver_generic.cpp b/test/eigensolver_generic.cpp index c5441ac4e..c42fcaeba 100644 --- a/test/eigensolver_generic.cpp +++ b/test/eigensolver_generic.cpp @@ -70,6 +70,12 @@ template<typename MatrixType> void eigensolver(const MatrixType& m) EigenSolver<MatrixType> eiNaN(a); VERIFY_IS_EQUAL(eiNaN.info(), NoConvergence); } + + // regression test for bug 1098 + { + EigenSolver<MatrixType> eig(a.adjoint() * a); + eig.compute(a.adjoint() * a); + } } template<typename MatrixType> void eigensolver_verify_assert(const MatrixType& m) diff --git a/test/eigensolver_selfadjoint.cpp b/test/eigensolver_selfadjoint.cpp index 4c3de7a80..a7b4deb5d 100644 --- a/test/eigensolver_selfadjoint.cpp +++ b/test/eigensolver_selfadjoint.cpp @@ -156,6 +156,12 @@ template<typename MatrixType> void selfadjointeigensolver(const MatrixType& m) SelfAdjointEigenSolver<MatrixType> eiSymmNaN(symmC); VERIFY_IS_EQUAL(eiSymmNaN.info(), NoConvergence); } + + // regression test for bug 1098 + { + SelfAdjointEigenSolver<MatrixType> eig(a.adjoint() * a); + eig.compute(a.adjoint() * a); + } } void bug_854() |