From ce073fac70a0e1cbc8458af1baedecdb3c82efbb Mon Sep 17 00:00:00 2001 From: Dmitri Naumov <dmitri.naumov@ufz.de> Date: Fri, 18 Mar 2016 01:28:24 +0000 Subject: [PATCH] [MaL] ODE: Remove not required StorageOrder. Using Eigen::Map<Eigen::Matrix...>> class seems to work by default with the sundials storage order and vice versa. --- MathLib/ODE/CVodeSolver.cpp | 3 +-- MathLib/ODE/OdeSolverFactory.h | 10 ++++------ MathLib/ODE/declarations.h | 9 +-------- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/MathLib/ODE/CVodeSolver.cpp b/MathLib/ODE/CVodeSolver.cpp index 6b9cb14f297..c6f24280939 100644 --- a/MathLib/ODE/CVodeSolver.cpp +++ b/MathLib/ODE/CVodeSolver.cpp @@ -256,8 +256,7 @@ void CVodeSolverImpl::preSolve() bool successful = static_cast<FunctionHandles*>(function_handles) ->callJacobian(t, NV_DATA_S(y), NV_DATA_S(ydot), - DENSE_COL(jac, 0), - MathLib::StorageOrder::ColumnMajor); + DENSE_COL(jac, 0)); return successful ? 0 : 1; }; diff --git a/MathLib/ODE/OdeSolverFactory.h b/MathLib/ODE/OdeSolverFactory.h index 5b9d7c7beec..4330db613c7 100644 --- a/MathLib/ODE/OdeSolverFactory.h +++ b/MathLib/ODE/OdeSolverFactory.h @@ -46,9 +46,8 @@ struct Handles<N, FunctionArgument> : public MathLib::FunctionHandles return true; } - bool callJacobian(const double t, const double* const y, - const double* const ydot, double* const jac, - MathLib::StorageOrder order) override + bool callJacobian(const double t, const double* const y, double* const ydot, + double* const jac) override { if (df) return df(t, @@ -95,9 +94,8 @@ struct Handles<N> : public MathLib::FunctionHandles return true; } - bool callJacobian(const double t, const double* const y, - const double* const ydot, double* const jac, - MathLib::StorageOrder order) override + bool callJacobian(const double t, const double* const y, double* const ydot, + double* const jac) override { if (df) return df(t, diff --git a/MathLib/ODE/declarations.h b/MathLib/ODE/declarations.h index 000f4246a4a..753e56ef393 100644 --- a/MathLib/ODE/declarations.h +++ b/MathLib/ODE/declarations.h @@ -14,12 +14,6 @@ namespace MathLib { -enum class StorageOrder -{ - ColumnMajor, - RowMajor -}; - template <unsigned N, typename... FunctionArguments> using Function = bool (*)(const double t, Eigen::Map<const Eigen::Matrix<double, N, 1>> const y, @@ -43,8 +37,7 @@ public: virtual bool callJacobian(const double t, double const* const y, double* const ydot, - double* const jac, - StorageOrder order) = 0; + double* const jac) = 0; virtual bool hasJacobian() const = 0; -- GitLab