From edec805e37184199bf02dd0fbdb2b22fb05ab568 Mon Sep 17 00:00:00 2001 From: dehnert <dehnert@cs.rwth-aachen.de> Date: Wed, 8 Nov 2017 15:19:47 +0100 Subject: [PATCH] added some missing clone functions for check results --- src/storm-pars/modelchecker/results/RegionCheckResult.cpp | 6 +++++- src/storm-pars/modelchecker/results/RegionCheckResult.h | 2 ++ .../modelchecker/results/RegionRefinementCheckResult.cpp | 5 +++++ .../modelchecker/results/RegionRefinementCheckResult.h | 3 ++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/storm-pars/modelchecker/results/RegionCheckResult.cpp b/src/storm-pars/modelchecker/results/RegionCheckResult.cpp index 2759034e9..fbfc95bbb 100644 --- a/src/storm-pars/modelchecker/results/RegionCheckResult.cpp +++ b/src/storm-pars/modelchecker/results/RegionCheckResult.cpp @@ -27,6 +27,11 @@ namespace storm { initFractions(overallArea); } + template<typename ValueType> + std::unique_ptr<CheckResult> RegionCheckResult<ValueType>::clone() const { + return std::make_unique<RegionCheckResult<ValueType>>(this->regionResults); + } + template<typename ValueType> bool RegionCheckResult<ValueType>::isRegionCheckResult() const { return true; @@ -108,7 +113,6 @@ namespace storm { // Filtering has no effect as we only store the result w.r.t. a single state anyway. // Hence, this is intentionally left empty. } - #ifdef STORM_HAVE_CARL template class RegionCheckResult<storm::RationalFunction>; diff --git a/src/storm-pars/modelchecker/results/RegionCheckResult.h b/src/storm-pars/modelchecker/results/RegionCheckResult.h index 7bb144cf6..025a6ad66 100644 --- a/src/storm-pars/modelchecker/results/RegionCheckResult.h +++ b/src/storm-pars/modelchecker/results/RegionCheckResult.h @@ -29,6 +29,8 @@ namespace storm { virtual void filter(QualitativeCheckResult const& filter) override; + virtual std::unique_ptr<CheckResult> clone() const override; + protected: virtual void initFractions(typename storm::storage::ParameterRegion<ValueType>::CoefficientType const& overallArea); diff --git a/src/storm-pars/modelchecker/results/RegionRefinementCheckResult.cpp b/src/storm-pars/modelchecker/results/RegionRefinementCheckResult.cpp index 605865c04..320dda2e8 100644 --- a/src/storm-pars/modelchecker/results/RegionRefinementCheckResult.cpp +++ b/src/storm-pars/modelchecker/results/RegionRefinementCheckResult.cpp @@ -29,6 +29,11 @@ namespace storm { storm::storage::ParameterRegion<ValueType> const& RegionRefinementCheckResult<ValueType>::getParameterSpace() const { return parameterSpace; } + + template<typename ValueType> + std::unique_ptr<CheckResult> RegionRefinementCheckResult<ValueType>::clone() const { + return std::make_unique<RegionRefinementCheckResult<ValueType>>(this->regionResults, this->parameterSpace); + } template<typename ValueType> std::ostream& RegionRefinementCheckResult<ValueType>::writeIllustrationToStream(std::ostream& out) const { diff --git a/src/storm-pars/modelchecker/results/RegionRefinementCheckResult.h b/src/storm-pars/modelchecker/results/RegionRefinementCheckResult.h index 8b37afcca..2b6b6b617 100644 --- a/src/storm-pars/modelchecker/results/RegionRefinementCheckResult.h +++ b/src/storm-pars/modelchecker/results/RegionRefinementCheckResult.h @@ -21,7 +21,8 @@ namespace storm { storm::storage::ParameterRegion<ValueType> const& getParameterSpace() const; virtual std::ostream& writeIllustrationToStream(std::ostream& out) const override; - + + virtual std::unique_ptr<CheckResult> clone() const override; protected: storm::storage::ParameterRegion<ValueType> parameterSpace;