12namespace modelchecker {
13template<
typename ValueType>
18template<
typename ValueType>
20 std::vector<point_type>
const& points,
polytope_type const& underApproximation,
26template<
typename ValueType>
33template<
typename ValueType>
35 std::vector<scheduler_type>&& schedulers,
polytope_type&& underApproximation,
37 :
ParetoCurveCheckResult<ValueType>(points, underApproximation, overApproximation), state(state), schedulers(schedulers) {}
39template<
typename ValueType>
41 return std::make_unique<ExplicitParetoCurveCheckResult<ValueType>>(this->state, this->points, this->underApproximation, this->overApproximation);
44template<
typename ValueType>
49template<
typename ValueType>
54template<
typename ValueType>
56 STORM_LOG_THROW(filter.isExplicitQualitativeCheckResult(), storm::exceptions::InvalidOperationException,
57 "Cannot filter explicit check result with non-explicit filter.");
58 STORM_LOG_THROW(filter.isResultForAllStates(), storm::exceptions::InvalidOperationException,
"Cannot filter check result with non-complete filter.");
63 "The check result fails to contain some results referred to by the filter.");
66template<
typename ValueType>
71template<
typename ValueType>
73 return schedulers.size() > 0;
76template<
typename ValueType>
78 STORM_LOG_THROW(this->hasScheduler(), storm::exceptions::InvalidOperationException,
"Unable to retrieve non-existing scheduler.");
82template<
typename ValueType>
84 STORM_LOG_THROW(this->hasScheduler(), storm::exceptions::InvalidOperationException,
"Unable to retrieve non-existing scheduler.");
ExplicitParetoCurveCheckResult()
storm::storage::sparse::state_type const & getState() const
virtual bool hasScheduler() const override
virtual bool isExplicitParetoCurveCheckResult() const override
virtual bool isExplicit() const override
typename ParetoCurveCheckResult< ValueType >::polytope_type polytope_type
virtual void filter(QualitativeCheckResult const &filter) override
Filters the current result wrt.
virtual std::unique_ptr< CheckResult > clone() const override
std::vector< scheduler_type > const & getSchedulers() const
vector_type const & getTruthValuesVector() const
A bit vector that is internally represented as a vector of 64-bit values.
uint64_t getNumberOfSetBits() const
Returns the number of bits that are set to true in this bit vector.
bool get(uint64_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)