aboutsummaryrefslogtreecommitdiff
path: root/test/sparse_solvers.cpp
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-28 15:56:25 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-28 15:56:25 +0000
commit55ad0d253da508dfa7e3e1b6625585aee94cfb8a (patch)
treefb979fb4cf4f8052c8cc66b1ec9516d91fcd859b /test/sparse_solvers.cpp
parent0ed7cde390b5a95da28879cc4e01b94d40d5ded1 (diff)
parentbc0f5df265caa21a2120c22453655a7fcc941991 (diff)
downloadeigen-55ad0d253da508dfa7e3e1b6625585aee94cfb8a.tar.gz
Snap for 8512216 from bc0f5df265caa21a2120c22453655a7fcc941991 to tm-frc-resolv-releaset_frc_res_330443000android13-frc-resolv-release
Change-Id: I80c95f4bc26e9ce9db6b17b25e1b63e45c82ad27
Diffstat (limited to 'test/sparse_solvers.cpp')
-rw-r--r--test/sparse_solvers.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/test/sparse_solvers.cpp b/test/sparse_solvers.cpp
index 3a8873d43..3b7cd7788 100644
--- a/test/sparse_solvers.cpp
+++ b/test/sparse_solvers.cpp
@@ -98,10 +98,23 @@ template<typename Scalar> void sparse_solvers(int rows, int cols)
initSparse<Scalar>(density, refMat2, m2, ForceNonZeroDiag|MakeLowerTriangular, &zeroCoords, &nonzeroCoords);
VERIFY_IS_APPROX(refMat2.template triangularView<Lower>().solve(vec2),
m2.template triangularView<Lower>().solve(vec3));
+
+ // test empty triangular matrix
+ {
+ m2.resize(0,0);
+ refMatB.resize(0,refMatB.cols());
+ DenseMatrix res = m2.template triangularView<Lower>().solve(refMatB);
+ VERIFY_IS_EQUAL(res.rows(),0);
+ VERIFY_IS_EQUAL(res.cols(),refMatB.cols());
+ res = refMatB;
+ m2.template triangularView<Lower>().solveInPlace(res);
+ VERIFY_IS_EQUAL(res.rows(),0);
+ VERIFY_IS_EQUAL(res.cols(),refMatB.cols());
+ }
}
}
-void test_sparse_solvers()
+EIGEN_DECLARE_TEST(sparse_solvers)
{
for(int i = 0; i < g_repeat; i++) {
CALL_SUBTEST_1(sparse_solvers<double>(8, 8) );