diff options
-rw-r--r-- | Eigen/PaStiXSupport | 38 | ||||
-rw-r--r-- | Eigen/src/PaStiXSupport/PaStiXSupport.h | 21 |
2 files changed, 58 insertions, 1 deletions
diff --git a/Eigen/PaStiXSupport b/Eigen/PaStiXSupport new file mode 100644 index 000000000..4ded8e5d0 --- /dev/null +++ b/Eigen/PaStiXSupport @@ -0,0 +1,38 @@ +#ifndef EIGEN_PASTIXSUPPORT_MODULE_H +#define EIGEN_PASTIXSUPPORT_MODULE_H + +#include "SparseCore" + +#include "src/Core/util/DisableStupidWarnings.h" + +#include <complex.h> +extern "C" { +#include <pastix_nompi.h> +#include <pastix.h> +} + +#ifdef complex +#undef complex +#endif + +namespace Eigen { + +/** \ingroup Support_modules + * \defgroup PaStiXSupport_Module PaStiXSupport module + * + * \code + * #include <Eigen/PaStiXSupport> + * \endcode + */ + +#include "src/misc/Solve.h" +#include "src/misc/SparseSolve.h" + +#include "src/PaStiXSupport/PaStiXSupport.h" + + +} // namespace Eigen + +#include "src/Core/util/ReenableStupidWarnings.h" + +#endif // EIGEN_PASTIXSUPPORT_MODULE_H diff --git a/Eigen/src/PaStiXSupport/PaStiXSupport.h b/Eigen/src/PaStiXSupport/PaStiXSupport.h index d715f1b79..57ce0f106 100644 --- a/Eigen/src/PaStiXSupport/PaStiXSupport.h +++ b/Eigen/src/PaStiXSupport/PaStiXSupport.h @@ -246,6 +246,15 @@ class PastixBase return m_iparm; } + /** Return a reference to a particular index parameter of the IPARM vector + * \sa iparm() + */ + + int& iparm(int idxparam) + { + return m_iparm(idxparam); + } + /** Returns a reference to the double vector DPARM of PaStiX parameters * The statistics related to the different phases of factorization and solve are saved here as well * \sa analyzePattern() factorize() @@ -255,6 +264,16 @@ class PastixBase return m_dparm; } + + /** Return a reference to a particular index parameter of the DPARM vector + * \sa dparm() + */ + + double& dparm(int idxparam) + { + return m_dparm(idxparam); + } + inline Index cols() const { return m_size; } inline Index rows() const { return m_size; } @@ -304,7 +323,7 @@ class PastixBase int m_analysisIsOk; int m_factorizationIsOk; bool m_isInitialized; - ComputationInfo m_info; + mutable ComputationInfo m_info; mutable pastix_data_t *m_pastixdata; // Data structure for pastix mutable SparseMatrix<Scalar, ColMajor> m_mat_null; // An input null matrix mutable Matrix<Scalar, Dynamic,1> m_vec_null; // An input null vector |