From 3663a7df37a276c19a300adc9220707d67cee913 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Fri, 11 Nov 2011 16:58:33 +0100
Subject: [PATCH] Factor out some common code

---
 dune/tectonic/samplefunctional.hh | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/dune/tectonic/samplefunctional.hh b/dune/tectonic/samplefunctional.hh
index 359c4e23..f5de28a3 100644
--- a/dune/tectonic/samplefunctional.hh
+++ b/dune/tectonic/samplefunctional.hh
@@ -155,6 +155,8 @@ void minimise(Functional const J, typename Functional::SmallVector &x,
     if (descDir == SmallVector(0.0))
       return;
 
+    typedef typename Functional::NonlinearityType LocalNonlinearityType;
+    LocalNonlinearityType phi = J.phi;
     if (linesearchp) {
       // {{{ Construct a restriction of J to the line x + t * descDir
 
@@ -174,8 +176,6 @@ void minimise(Functional const J, typename Functional::SmallVector &x,
       J.A.mmv(x, tmp);                     //  b-Au
       double const JRestb = tmp * descDir; // <b-Au,v>
 
-      typedef typename Functional::NonlinearityType LocalNonlinearityType;
-      LocalNonlinearityType phi = J.phi;
       typedef DirectionalConvexFunction<LocalNonlinearityType>
       MyDirectionalConvexFunctionType;
       // FIXME: We cannot pass J.phi directly because the constructor
@@ -218,8 +218,6 @@ void minimise(Functional const J, typename Functional::SmallVector &x,
       Bisection slowBisection(bisection);
       slowBisection.setFastQuadratic(false);
 
-      typedef typename Functional::NonlinearityType LocalNonlinearityType;
-      LocalNonlinearityType phi = J.phi;
       typedef Dune::CurvedFunction<LocalNonlinearityType> MyCurvedFunctionType;
       MyCurvedFunctionType JRest(J.A, J.b, phi, x, descDir);
 
-- 
GitLab