提交 0792ef87 编写于 作者: Y yuki takehara 提交者: Alexander Alekhin

Merge pull request #11049 from take1014:#10948

* Fix #10948

* Add test code

* Fixed build error

* Add value zero

* eigen: test cleanup
上级 5bf7f09a
......@@ -350,6 +350,9 @@ private:
// Look for single small sub-diagonal element
int l = n1;
while (l > low) {
if (norm < FLT_EPSILON) {
break;
}
s = std::abs(H[l - 1][l - 1]) + std::abs(H[l][l]);
if (s == 0.0) {
s = norm;
......@@ -594,7 +597,7 @@ private:
// Backsubstitute to find vectors of upper triangular form
if (norm == 0.0) {
if (norm < FLT_EPSILON) {
return;
}
......
......@@ -516,4 +516,15 @@ static void testEigen3x3()
TEST(Core_EigenNonSymmetric, float3x3) { testEigen3x3<float>(); }
TEST(Core_EigenNonSymmetric, double3x3) { testEigen3x3<double>(); }
typedef testing::TestWithParam<int> Core_EigenZero;
TEST_P(Core_EigenZero, double)
{
int N = GetParam();
Mat_<double> srcZero = Mat_<double>::zeros(N, N);
Mat_<double> expected_eigenvalueZero = Mat_<double>::zeros(N, 1); // 1D Mat
testEigen(srcZero, expected_eigenvalueZero);
testEigen(srcZero, expected_eigenvalueZero, true);
}
INSTANTIATE_TEST_CASE_P(/**/, Core_EigenZero, testing::Values(2, 3, 5));
}} // namespace
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册