diff --git a/dune/solvers/norms/diagnorm.hh b/dune/solvers/norms/diagnorm.hh index 4b52c50b44b4bf73fd8b3b3d0e07bde266b22bf5..e3b59e2edfbf51ddf561757650831eefd45c8dd0 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 8bb3c7226429480e6bfa22217e45725e3329e710..3e849828a8eab493e622b27c132e849521828a30 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));