From e431a8d02ccd6070237930f8ec1ff468e86127dc Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Mon, 8 Mar 2010 12:02:02 +0000
Subject: [PATCH] compute relativeError only if the result isn't nan

[[Imported from SVN: r3249]]
---
 dune/solvers/solvers/loopsolver.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dune/solvers/solvers/loopsolver.cc b/dune/solvers/solvers/loopsolver.cc
index b103b829..5dee6769 100644
--- a/dune/solvers/solvers/loopsolver.cc
+++ b/dune/solvers/solvers/loopsolver.cc
@@ -105,7 +105,7 @@ void ::LoopSolver<VectorType, BitVectorType>::solve()
         }
 
         // Turn the error into the relative error, if requested
-        if (this->useRelativeError_)
+        if (this->useRelativeError_ && !std::isnan(error/oldNorm))
             error = error / oldNorm;
 
         if (!isinf(convRate) && !isnan(convRate) && i>0) {
-- 
GitLab