Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ExplicitModelCheckerHint.cpp
Go to the documentation of this file.
5
7
8namespace storm {
9namespace modelchecker {
10
11template<typename ValueType>
13 return !hasResultHint() && !hasSchedulerHint() && !hasMaybeStates();
14}
15
16template<typename ValueType>
20
21template<typename ValueType>
23 return resultHint.is_initialized();
24}
25
26template<typename ValueType>
27std::vector<ValueType> const& ExplicitModelCheckerHint<ValueType>::getResultHint() const {
28 return *resultHint;
29}
30
31template<typename ValueType>
33 return *resultHint;
34}
35
36template<typename ValueType>
37void ExplicitModelCheckerHint<ValueType>::setResultHint(boost::optional<std::vector<ValueType>> const& resultHint) {
38 this->resultHint = resultHint;
39}
40
41template<typename ValueType>
42void ExplicitModelCheckerHint<ValueType>::setResultHint(boost::optional<std::vector<ValueType>>&& resultHint) {
43 this->resultHint = resultHint;
44}
45
46template<typename ValueType>
48 STORM_LOG_THROW(!computeOnlyMaybeStates || (hasMaybeStates() && hasResultHint()), storm::exceptions::InvalidOperationException,
49 "Computing only maybestates is activated but no maybestates or no result hint is specified.");
50 return computeOnlyMaybeStates;
51}
52
53template<typename ValueType>
55 STORM_LOG_THROW(!value || (hasMaybeStates() && hasResultHint()), storm::exceptions::InvalidOperationException,
56 "Tried to activate that only maybestates need to be computed, but no maybestates or no result hint was given before.");
57 this->computeOnlyMaybeStates = value;
58}
59
60template<typename ValueType>
62 return maybeStates.is_initialized();
63}
64
65template<typename ValueType>
69
70template<typename ValueType>
74
75template<typename ValueType>
77 this->maybeStates = newMaybeStates;
78}
79
80template<typename ValueType>
82 this->maybeStates = std::move(newMaybeStates);
83}
84
85template<typename ValueType>
87 return schedulerHint.is_initialized();
88}
89
90template<typename ValueType>
94
95template<typename ValueType>
99
100template<typename ValueType>
102 this->schedulerHint = schedulerHint;
103}
104
105template<typename ValueType>
107 this->schedulerHint = schedulerHint;
108}
109
110template<typename ValueType>
112 return noEndComponentsInMaybeStates;
113}
114
115template<typename ValueType>
117 noEndComponentsInMaybeStates = value;
118}
119
124
125} // namespace modelchecker
126} // namespace storm
This class contains information that might accelerate the model checking process.
void setSchedulerHint(boost::optional< storage::Scheduler< ValueType > > const &schedulerHint)
void setResultHint(boost::optional< std::vector< ValueType > > const &resultHint)
storm::storage::Scheduler< ValueType > const & getSchedulerHint() const
storm::storage::BitVector const & getMaybeStates() const
void setMaybeStates(storm::storage::BitVector const &maybeStates)
std::vector< ValueType > const & getResultHint() const
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:18
bool get(uint_fast64_t index) const
Retrieves the truth value of the bit at the given index and performs a bound check.
This class defines which action is chosen in a particular state of a non-deterministic model.
Definition Scheduler.h:18
#define STORM_LOG_THROW(cond, exception, message)
Definition macros.h:30
LabParser.cpp.
Definition cli.cpp:18