Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
CompressedState.h
Go to the documentation of this file.
1#ifndef STORM_GENERATOR_COMPRESSEDSTATE_H_
2#define STORM_GENERATOR_COMPRESSEDSTATE_H_
3
4#include <map>
5#include <unordered_map>
8
9namespace storm {
10namespace expressions {
11template<typename ValueType>
12class ExpressionEvaluator;
13
14class ExpressionManager;
15class SimpleValuation;
16class Variable;
17class Expression;
18} // namespace expressions
19
20namespace generator {
22
24
32template<typename ValueType>
33void unpackStateIntoEvaluator(CompressedState const& state, VariableInformation const& variableInformation,
35
46
55template<typename ValueType>
56storm::json<ValueType> unpackStateIntoJson(CompressedState const& state, VariableInformation const& variableInformation, bool onlyObservable);
57
67void extractVariableValues(CompressedState const& state, VariableInformation const& variableInformation, std::vector<int64_t>& locationValues,
68 std::vector<bool>& booleanValues, std::vector<int64_t>& integerValues);
69
73std::string toString(CompressedState const& state, VariableInformation const& variableInformation);
74
88uint32_t unpackStateToObservabilityClass(CompressedState const& state, storm::storage::BitVector const& observationVector,
89 std::unordered_map<storm::storage::BitVector, uint32_t>& observabilityMap, storm::storage::BitVector const& mask);
96CompressedState createOutOfBoundsState(VariableInformation const& varInfo, bool roundTo64Bit = true);
97
99 std::map<storm::expressions::Variable, storm::expressions::Expression> const& stateDescription, bool checkOutOfBounds);
100
102 bool checkOutOfBounds = false);
103
104} // namespace generator
105} // namespace storm
106
107#endif /* STORM_GENERATOR_COMPRESSEDSTATE_H_ */
This class is responsible for managing a set of typed variables and all expressions using these varia...
A simple implementation of the valuation interface.
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:18
void unpackStateIntoEvaluator(CompressedState const &state, VariableInformation const &variableInformation, storm::expressions::ExpressionEvaluator< ValueType > &evaluator)
Unpacks the compressed state into the evaluator.
CompressedState createCompressedState(VariableInformation const &varInfo, std::map< storm::expressions::Variable, storm::expressions::Expression > const &stateDescription, bool checkOutOfBounds)
storm::expressions::SimpleValuation unpackStateIntoValuation(CompressedState const &state, VariableInformation const &variableInformation, storm::expressions::ExpressionManager const &manager)
Converts the compressed state into an explicit representation in the form of a valuation.
void extractVariableValues(CompressedState const &state, VariableInformation const &variableInformation, std::vector< int64_t > &locationValues, std::vector< bool > &booleanValues, std::vector< int64_t > &integerValues)
Appends the values of the given variables in the given state to the corresponding result vectors.
uint32_t unpackStateToObservabilityClass(CompressedState const &state, storm::storage::BitVector const &observationVector, std::unordered_map< storm::storage::BitVector, uint32_t > &observabilityMap, storm::storage::BitVector const &mask)
std::string toString(CompressedState const &state, VariableInformation const &variableInformation)
Returns a (human readable) string representation of the variable valuation encoded by the given state...
CompressedState createOutOfBoundsState(VariableInformation const &varInfo, bool roundTo64Bit)
CompressedState packStateFromValuation(expressions::SimpleValuation const &valuation, VariableInformation const &variableInformation, bool checkOutOfBounds)
storm::storage::BitVector CompressedState
storm::storage::BitVector computeObservabilityMask(VariableInformation const &variableInformation)
storm::json< ValueType > unpackStateIntoJson(CompressedState const &state, VariableInformation const &variableInformation, bool onlyObservable)
LabParser.cpp.
Definition cli.cpp:18
nlohmann::basic_json< std::map, std::vector, std::string, bool, int64_t, uint64_t, ValueType > json
Definition JsonForward.h:10