From b3254c9af514ae4d6ab0e8a2947dea8aa3592d9b Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 24 Oct 2012 10:31:04 +0200 Subject: [PATCH] fix bug #524: Pardiso's parameter array does not have to be aligned! --- Eigen/src/PardisoSupport/PardisoSupport.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Eigen/src/PardisoSupport/PardisoSupport.h b/Eigen/src/PardisoSupport/PardisoSupport.h index e6defc8c3..d623bf518 100644 --- a/Eigen/src/PardisoSupport/PardisoSupport.h +++ b/Eigen/src/PardisoSupport/PardisoSupport.h @@ -108,6 +108,7 @@ class PardisoImpl typedef Matrix VectorType; typedef Matrix IntRowVectorType; typedef Matrix IntColVectorType; + typedef Array ParameterType; enum { ScalarIsComplex = NumTraits::IsComplex }; @@ -142,7 +143,7 @@ class PardisoImpl /** \warning for advanced usage only. * \returns a reference to the parameter array controlling PARDISO. * See the PARDISO manual to know how to use it. */ - Array& pardisoParameterArray() + ParameterType& pardisoParameterArray() { return m_iparm; } @@ -295,7 +296,7 @@ class PardisoImpl bool m_initialized, m_analysisIsOk, m_factorizationIsOk; Index m_type, m_msglvl; mutable void *m_pt[64]; - mutable Array m_iparm; + mutable ParameterType m_iparm; mutable IntColVectorType m_perm; Index m_size;