Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
QuantitativeCheckResult.cpp
Go to the documentation of this file.
2
6
7namespace storm {
8namespace modelchecker {
9
10template<typename ValueType>
12 STORM_LOG_THROW(false, storm::exceptions::InvalidOperationException, "Unable to perform comparison against bound on the check result.");
13}
14
15template<typename ValueType>
17 switch (filter) {
18 case FilterType::MIN:
19 return {this->getMin(), std::nullopt, std::nullopt};
20 case FilterType::MAX:
21 return {this->getMax(), std::nullopt, std::nullopt};
22 case FilterType::SUM:
23 return {this->sum(), std::nullopt, std::nullopt};
24 case FilterType::AVG:
25 return {this->average(), std::nullopt, std::nullopt};
26 default:
27 STORM_LOG_THROW_UNCONDITIONALLY(storm::exceptions::InvalidOperationException, "The filter " << toString(filter) << " does not aggregate values.");
28 }
29}
30
31template<typename ValueType>
33 return true;
34}
35
37
40} // namespace modelchecker
41} // namespace storm
virtual void filter(QualitativeCheckResult const &filter)=0
Filters the current result wrt.
virtual ExtendedValueType getMax() const =0
virtual AggregatedValue< ExtendedValueType > aggregate(FilterType filter) const
Aggregates the values of this result with the given filter, and each bound it carries alongside.
virtual ExtendedValueType average() const =0
virtual std::unique_ptr< CheckResult > compareAgainstBound(storm::logic::ComparisonType comparisonType, ValueType const &bound) const
virtual ExtendedValueType sum() const =0
virtual ExtendedValueType getMin() const =0
#define STORM_LOG_THROW_UNCONDITIONALLY(exception, message)
Definition macros.h:48
#define STORM_LOG_THROW(cond, exception, message)
Definition macros.h:39
std::string toString(FilterType ft)
Definition FilterType.cpp:9
The aggregate of the values of a quantitative check result, together with the aggregate of each bound...