diff --git a/src/storm/solver/SolveGoal.cpp b/src/storm/solver/SolveGoal.cpp index 8913e1807..b410ff121 100644 --- a/src/storm/solver/SolveGoal.cpp +++ b/src/storm/solver/SolveGoal.cpp @@ -122,6 +122,11 @@ namespace storm { relevantValueVector = std::move(values); } + template + bool SolveGoal::isShieldingTask() const { + return shieldingTask; + } + template class SolveGoal; #ifdef STORM_HAVE_CARL diff --git a/src/storm/solver/SolveGoal.h b/src/storm/solver/SolveGoal.h index 9bd6f7e73..741d33b09 100644 --- a/src/storm/solver/SolveGoal.h +++ b/src/storm/solver/SolveGoal.h @@ -51,6 +51,7 @@ namespace storm { comparisonType = checkTask.getBoundComparisonType(); threshold = checkTask.getBoundThreshold(); } + shieldingTask = checkTask.isShieldingTask(); } SolveGoal(bool minimize); @@ -77,19 +78,23 @@ namespace storm { ValueType const& thresholdValue() const; bool hasRelevantValues() const; - + storm::storage::BitVector& relevantValues(); storm::storage::BitVector const& relevantValues() const; void restrictRelevantValues(storm::storage::BitVector const& filter); void setRelevantValues(storm::storage::BitVector&& values); - + + bool isShieldingTask() const; + private: boost::optional optimizationDirection; boost::optional comparisonType; boost::optional threshold; boost::optional relevantValueVector; + // We only want to know if it **is** a shielding task + bool shieldingTask; }; template