From dad128fca957bbb73a12f8a931681a1647d77c23 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carsten=20Gr=C3=A4ser?= <graeser@mi.fu-berlin.de>
Date: Wed, 18 Apr 2012 22:05:38 +0000
Subject: [PATCH] Fix signed/unsigned comparison warning

[[Imported from SVN: r6056]]
---
 dune/solvers/norms/diagnorm.hh | 6 ++++--
 dune/solvers/norms/fullnorm.hh | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/dune/solvers/norms/diagnorm.hh b/dune/solvers/norms/diagnorm.hh
index 4b52c50b..e3b59e2e 100644
--- a/dune/solvers/norms/diagnorm.hh
+++ b/dune/solvers/norms/diagnorm.hh
@@ -12,6 +12,8 @@ typedef Dune::BlockVector<Dune::FieldVector <double,1> > VectorType;
 
 class DiagNorm: public Norm<VectorType>
 {
+        typedef typename VectorType::size_type SizeType;
+
     public:
         DiagNorm(double alpha, const VectorType &d) :
             d(d),
@@ -22,7 +24,7 @@ class DiagNorm: public Norm<VectorType>
         double operator()(const VectorType &v) const {
             double r = 0.0;
 
-            for(int row = 0; row < v.size(); ++row)
+            for(SizeType row = 0; row < v.size(); ++row)
                 r += d[row] * v[row] * v[row];
 
             return sqrt(fabs(alpha * r));
@@ -33,7 +35,7 @@ class DiagNorm: public Norm<VectorType>
         {
             double r = 0.0;
 
-            for(int row = 0; row < v1.size(); ++row)
+            for(SizeType row = 0; row < v1.size(); ++row)
                 r += (double)d[row] * (v1[row]-v2[row]) * (v1[row] - v2[row]);
 
             return sqrt(fabs(alpha * r));
diff --git a/dune/solvers/norms/fullnorm.hh b/dune/solvers/norms/fullnorm.hh
index 8bb3c722..3e849828 100644
--- a/dune/solvers/norms/fullnorm.hh
+++ b/dune/solvers/norms/fullnorm.hh
@@ -12,6 +12,8 @@ typedef Dune::BlockVector<Dune::FieldVector<double,1> > Vector;
 
 class FullNorm: public Norm<Vector>
 {
+        typedef typename VectorType::size_type SizeType;
+
     public:
         FullNorm(double alpha, const Vector &m) :
             m(m),
@@ -23,7 +25,7 @@ class FullNorm: public Norm<Vector>
         {
             double r = 0.0;
 
-            for(int row = 0; row < v.size(); ++row)
+            for(SizeType row = 0; row < v.size(); ++row)
                 r += m[row] * v[row];
 
             return sqrt(fabs(alpha*r*r));
@@ -34,7 +36,7 @@ class FullNorm: public Norm<Vector>
         {
             double r = 0.0;
 
-            for(int row = 0; row < v1.size(); ++row)
+            for(SizeType row = 0; row < v1.size(); ++row)
                 r += (double)m[row] * (v1[row] - v2[row]);
 
             return sqrt(fabs(alpha*r*r));
-- 
GitLab