Storm 1.13.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SymbolicParetoCurveCheckResult.cpp
Go to the documentation of this file.
2
8
9namespace storm {
10namespace modelchecker {
11template<storm::dd::DdType Type, typename ValueType>
15
16template<storm::dd::DdType Type, typename ValueType>
18 storm::dd::Bdd<Type> const& state, std::vector<typename ParetoCurveCheckResult<ValueType>::point_type> const& points,
22 STORM_LOG_THROW(this->state.getNonZeroCount() == 1, storm::exceptions::InvalidOperationException,
23 "ParetoCheckResults are only relevant for a single state.");
24}
25
26template<storm::dd::DdType Type, typename ValueType>
32 STORM_LOG_THROW(this->state.getNonZeroCount() == 1, storm::exceptions::InvalidOperationException,
33 "ParetoCheckResults are only relevant for a single state.");
34}
35
36template<storm::dd::DdType Type, typename ValueType>
37std::unique_ptr<CheckResult> SymbolicParetoCurveCheckResult<Type, ValueType>::clone() const {
38 return std::make_unique<SymbolicParetoCurveCheckResult<Type, ValueType>>(this->state, this->points, this->underApproximation, this->overApproximation);
39}
40
41template<storm::dd::DdType Type, typename ValueType>
45
46template<storm::dd::DdType Type, typename ValueType>
50
51template<storm::dd::DdType Type, typename ValueType>
53 STORM_LOG_THROW(filter.isSymbolicQualitativeCheckResult(), storm::exceptions::InvalidOperationException,
54 "Cannot filter Symbolic check result with non-Symbolic filter.");
55 STORM_LOG_THROW(filter.isResultForAllStates(), storm::exceptions::InvalidOperationException, "Cannot filter check result with non-complete filter.");
57
58 storm::dd::Bdd<Type> const& filterTruthValues = symbolicFilter.getTruthValuesVector();
59
60 STORM_LOG_THROW(filterTruthValues.getNonZeroCount() == 1 && !(filterTruthValues && state).isZero(), storm::exceptions::InvalidOperationException,
61 "The check result fails to contain some results referred to by the filter.");
62}
63
64template<storm::dd::DdType Type, typename ValueType>
68
72} // namespace modelchecker
73} // namespace storm
virtual uint_fast64_t getNonZeroCount() const override
Retrieves the number of encodings that are mapped to a non-zero value.
Definition Bdd.cpp:507
SymbolicQualitativeCheckResult< Type > & asSymbolicQualitativeCheckResult()
std::shared_ptr< storm::storage::geometry::Polytope< ValueType > > polytope_type
virtual void filter(QualitativeCheckResult const &filter) override
Filters the current result wrt.
virtual std::unique_ptr< CheckResult > clone() const override
#define STORM_LOG_THROW(cond, exception, message)
Definition macros.h:30