Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ExplicitParetoCurveCheckResult.cpp
Go to the documentation of this file.
1
3
8
10
11namespace storm {
12namespace modelchecker {
13template<typename ValueType>
17
18template<typename ValueType>
20 std::vector<typename ParetoCurveCheckResult<ValueType>::point_type> const& points,
21 typename ParetoCurveCheckResult<ValueType>::polytope_type const& underApproximation,
22 typename ParetoCurveCheckResult<ValueType>::polytope_type const& overApproximation)
23 : ParetoCurveCheckResult<ValueType>(points, underApproximation, overApproximation), state(state) {
24 // Intentionally left empty.
25}
26
27template<typename ValueType>
29 std::vector<typename ParetoCurveCheckResult<ValueType>::point_type>&& points,
30 typename ParetoCurveCheckResult<ValueType>::polytope_type&& underApproximation,
31 typename ParetoCurveCheckResult<ValueType>::polytope_type&& overApproximation)
32 : ParetoCurveCheckResult<ValueType>(points, underApproximation, overApproximation), state(state) {
33 // Intentionally left empty.
34}
35
36template<typename ValueType>
37std::unique_ptr<CheckResult> ExplicitParetoCurveCheckResult<ValueType>::clone() const {
38 return std::make_unique<ExplicitParetoCurveCheckResult<ValueType>>(this->state, this->points, this->underApproximation, this->overApproximation);
39}
40
41template<typename ValueType>
45
46template<typename ValueType>
50
51template<typename ValueType>
53 STORM_LOG_THROW(filter.isExplicitQualitativeCheckResult(), storm::exceptions::InvalidOperationException,
54 "Cannot filter explicit check result with non-explicit filter.");
55 STORM_LOG_THROW(filter.isResultForAllStates(), storm::exceptions::InvalidOperationException, "Cannot filter check result with non-complete filter.");
56 ExplicitQualitativeCheckResult const& explicitFilter = filter.asExplicitQualitativeCheckResult();
57 ExplicitQualitativeCheckResult::vector_type const& filterTruthValues = explicitFilter.getTruthValuesVector();
58
59 STORM_LOG_THROW(filterTruthValues.getNumberOfSetBits() == 1 && filterTruthValues.get(state), storm::exceptions::InvalidOperationException,
60 "The check result fails to contain some results referred to by the filter.");
61}
62
63template<typename ValueType>
67
69#ifdef STORM_HAVE_CARL
71#endif
72} // namespace modelchecker
73} // namespace storm
storm::storage::sparse::state_type const & getState() const
virtual void filter(QualitativeCheckResult const &filter) override
Filters the current result wrt.
virtual std::unique_ptr< CheckResult > clone() const override
std::shared_ptr< storm::storage::geometry::Polytope< ValueType > > polytope_type
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:18
uint_fast64_t getNumberOfSetBits() const
Returns the number of bits that are set to true in this bit vector.
bool get(uint_fast64_t index) const
Retrieves the truth value of the bit at the given index and performs a bound check.
#define STORM_LOG_THROW(cond, exception, message)
Definition macros.h:30
LabParser.cpp.
Definition cli.cpp:18