2017-09-09 19 views
-3

내가 뭔가를 scalar_product_op :: result_type로 (라인 86) simpe 기본 응용 프로그램의 동일한 작업에 BinaryFunctors.h 실패아이겐 SVD 구글 테스트

TEST(LinearALgebra, SVD) { 
    Eigen::Matrix3d m; 

    m << -0.0793311, 0.999997, -1.17221e-07, 
     1.74, 0.00249557, 0.000445095, 
     9.88131e-324, 0.000191222, -0.000284459; 

    Eigen::Matrix3d m_inv = m.inverse(); 

    //or 

    auto svd = m.jacobiSvd(Eigen::ComputeFullU | Eigen::ComputeFullV); 
} 

구글 테스트에서 다음 코드를 실행하고있어 이상한 실패 파이썬 numpy 또는 opencv는 오류없이 올바르게 작동합니다.

+2

_ 실패했습니다. 그게 모두에게 말해야한다고 생각하십니까? –

+1

게시 한 코드에 오류가 발생하지 않습니다. [MCVE] (https://stackoverflow.com/help/mcve) –

+0

죄송합니다. 몇 가지 설명 : 동일한 코드가 간단한 콘솔 기본 애플리케이션 및 Google 테스트에서 실행됩니다. 응용 프로그램에서 모두 잘 작동합니다. 그러나 Google 테스트에서 같은 코드가이 오류를 반환합니다. – Mike

답변

0

그래서 문제는 비정상적인 번호 9.88131e-324에서 발생했습니다. 부동 소수점 예외가 발생합니다. 문제를 0으로 변경하여 문제를 해결했습니다.