From d49b1348e6eaca8be43cf5d69176ca3f3f70583e Mon Sep 17 00:00:00 2001 From: podlesny <podlesny@zedat.fu-berlin.de> Date: Fri, 25 Jan 2019 15:19:58 +0100 Subject: [PATCH] init public members with nullptr for more meaningful fault messages if not set --- dune/solvers/iterationsteps/projectedblockgsstep.cc | 4 ++++ dune/solvers/iterationsteps/projectedblockgsstep.hh | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/dune/solvers/iterationsteps/projectedblockgsstep.cc b/dune/solvers/iterationsteps/projectedblockgsstep.cc index 83e28e0e..e1932420 100644 --- a/dune/solvers/iterationsteps/projectedblockgsstep.cc +++ b/dune/solvers/iterationsteps/projectedblockgsstep.cc @@ -5,6 +5,8 @@ template<class MatrixType, class VectorType> inline void ProjectedBlockGSStep<MatrixType, VectorType>::iterate() { + assert(hasObstacle_!=nullptr); + if (hasObstacle_->size()!= (unsigned int)this->x_->size()) DUNE_THROW(SolverError, "Size of hasObstacle (" << hasObstacle_->size() << ") doesn't match solution vector (" << this->x_->size() << ")"); @@ -46,6 +48,8 @@ void ProjectedBlockGSStep<MatrixType, VectorType>::iterate() // Solve the local constraint minimization problem // We use a projected Gauss-Seidel, for lack of anything better + assert(obstacles_!=nullptr); + Obstacle defectObstacle = (*obstacles_)[i]; defectObstacle -= x; diff --git a/dune/solvers/iterationsteps/projectedblockgsstep.hh b/dune/solvers/iterationsteps/projectedblockgsstep.hh index 9a491168..821055d2 100644 --- a/dune/solvers/iterationsteps/projectedblockgsstep.hh +++ b/dune/solvers/iterationsteps/projectedblockgsstep.hh @@ -48,8 +48,8 @@ public: using HasObstacle = Dune::BitSetVector<BlockSize>; using Obstacle = BoxConstraint<Field, BlockSize>; - const HasObstacle* hasObstacle_; - const std::vector<Obstacle>* obstacles_; + const HasObstacle* hasObstacle_ = nullptr; + const std::vector<Obstacle>* obstacles_ = nullptr; }; #include "projectedblockgsstep.cc" -- GitLab