From 299e7b2d06452066c02fdff042080a21d4f19e7f Mon Sep 17 00:00:00 2001
From: Dmitri Naumov <github@naumov.de>
Date: Tue, 6 Apr 2021 22:42:53 +0200
Subject: [PATCH] [NL] Use faster algorithm for copying.

---
 NumLib/ODESolver/TimeDiscretizedODESystem.cpp | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/NumLib/ODESolver/TimeDiscretizedODESystem.cpp b/NumLib/ODESolver/TimeDiscretizedODESystem.cpp
index 227a044611b..fb0d2ed7ced 100644
--- a/NumLib/ODESolver/TimeDiscretizedODESystem.cpp
+++ b/NumLib/ODESolver/TimeDiscretizedODESystem.cpp
@@ -177,7 +177,7 @@ void TimeDiscretizedODESystem<ODESystemTag::FirstOrderImplicitQuasilinear,
     std::vector<IndexType> ids;
     for (auto const& bc : *_known_solutions)
     {
-        std::copy(bc.ids.cbegin(), bc.ids.cend(), std::back_inserter(ids));
+        ids.insert(end(ids), begin(bc.ids), end(bc.ids));
     }
 
     // For the Newton method the values must be zero
@@ -280,9 +280,8 @@ void TimeDiscretizedODESystem<ODESystemTag::FirstOrderImplicitQuasilinear,
     std::vector<double> values;
     for (auto const& bc : *_known_solutions)
     {
-        std::copy(bc.ids.cbegin(), bc.ids.cend(), std::back_inserter(ids));
-        std::copy(bc.values.cbegin(), bc.values.cend(),
-                  std::back_inserter(values));
+        ids.insert(end(ids), begin(bc.ids), end(bc.ids));
+        values.insert(end(values), begin(bc.values), end(bc.values));
     }
     MathLib::applyKnownSolution(A, rhs, x, ids, values);
 }
-- 
GitLab