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