diff --git a/Eigen/src/PardisoSupport/PardisoSupport.h b/Eigen/src/PardisoSupport/PardisoSupport.h index ced7595b2..f9f79796f 100644 --- a/Eigen/src/PardisoSupport/PardisoSupport.h +++ b/Eigen/src/PardisoSupport/PardisoSupport.h @@ -274,8 +274,8 @@ Derived& PardisoImpl::compute(const MatrixType& a) m_matrix.valuePtr(), m_matrix.outerIndexPtr(), m_matrix.innerIndexPtr(), m_perm.data(), 0, m_iparm.data(), m_msglvl, NULL, NULL); manageErrorCode(error); - m_analysisIsOk = true; - m_factorizationIsOk = true; + m_analysisIsOk = m_info == Eigen::Success; + m_factorizationIsOk = m_info == Eigen::Success; m_isInitialized = true; return derived(); } @@ -296,7 +296,7 @@ Derived& PardisoImpl::analyzePattern(const MatrixType& a) m_perm.data(), 0, m_iparm.data(), m_msglvl, NULL, NULL); manageErrorCode(error); - m_analysisIsOk = true; + m_analysisIsOk = m_info == Eigen::Success; m_factorizationIsOk = false; m_isInitialized = true; return derived(); @@ -316,7 +316,7 @@ Derived& PardisoImpl::factorize(const MatrixType& a) m_perm.data(), 0, m_iparm.data(), m_msglvl, NULL, NULL); manageErrorCode(error); - m_factorizationIsOk = true; + m_factorizationIsOk = m_info == Eigen::Success; return derived(); }