From e5a16a911eb801b3fc46a1ddecd34ba71e18e283 Mon Sep 17 00:00:00 2001 From: Lars Bilke <lars.bilke@ufz.de> Date: Thu, 23 Mar 2023 15:12:01 +0100 Subject: [PATCH] [ML] Fix EigenLinearSolver on Eigen 3.4.0 --- MathLib/LinAlg/Eigen/EigenLinearSolver.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp b/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp index a56da08e415..21af0e4a701 100644 --- a/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp +++ b/MathLib/LinAlg/Eigen/EigenLinearSolver.cpp @@ -83,6 +83,7 @@ private: T_SOLVER solver_; }; +#ifdef USE_EIGEN_UNSUPPORTED // implementations for some iterative linear solver methods -------------------- // restart @@ -178,6 +179,7 @@ void setResidualUpdateImpl(Eigen::IDRS<Matrix, Precon>& solver, } // ----------------------------------------------------------------------------- +#endif /// Template class for Eigen iterative linear solvers template <class T_SOLVER> @@ -191,6 +193,8 @@ public: EigenOption::getPreconName(opt.precon_type)); solver_.setTolerance(opt.error_tolerance); solver_.setMaxIterations(opt.max_iterations); + +#ifdef USE_EIGEN_UNSUPPORTED MathLib::details::EigenIterativeLinearSolver<T_SOLVER>::setRestart( opt.restart); MathLib::details::EigenIterativeLinearSolver<T_SOLVER>::setL(opt.l); @@ -201,6 +205,7 @@ public: opt.angle); MathLib::details::EigenIterativeLinearSolver< T_SOLVER>::setResidualUpdate(opt.residualupdate); +#endif if (!A.isCompressed()) { @@ -230,6 +235,7 @@ public: private: T_SOLVER solver_; +#ifdef USE_EIGEN_UNSUPPORTED void setRestart(int const restart) { setRestartImpl(solver_, restart); } void setL(int const l) { setLImpl(solver_, l); } void setS(int const s) { setSImpl(solver_, s); } @@ -242,6 +248,7 @@ private: { setResidualUpdateImpl(solver_, residual_update); } +#endif }; template <template <typename, typename> class Solver, typename Precon> -- GitLab