Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
CompressedState.h
Go to the documentation of this file.
1#pragma once
2
3#include <map>
4#include <unordered_map>
7
8namespace storm {
9namespace storage::sparse {
11}
12namespace expressions {
13template<typename ValueType>
14class ExpressionEvaluator;
15
16class ExpressionManager;
17class SimpleValuation;
18class Variable;
19class Expression;
20} // namespace expressions
21
22namespace generator {
24
26
34template<typename ValueType>
35void unpackStateIntoEvaluator(CompressedState const& state, VariableInformation const& variableInformation,
37
48
57template<typename ValueType>
58storm::json<ValueType> unpackStateIntoJson(CompressedState const& state, VariableInformation const& variableInformation, bool onlyObservable);
59
67void unpackStateAppendToValuations(CompressedState const& state, VariableInformation const& variableInformation,
69
73void unpackObservationClassIntoValuations(CompressedState const& observationClass, uint64_t const observationClassIndex,
74 VariableInformation const& variableInformation, storm::storage::sparse::ValuationsStorage& valuations);
75
79std::string toString(CompressedState const& state, VariableInformation const& variableInformation);
80
94uint32_t unpackStateToObservabilityClass(CompressedState const& state, storm::storage::BitVector const& observationVector,
95 std::unordered_map<storm::storage::BitVector, uint32_t>& observabilityMap, storm::storage::BitVector const& mask);
102CompressedState createOutOfBoundsState(VariableInformation const& varInfo, bool roundTo64Bit = true);
103
105 std::map<storm::expressions::Variable, storm::expressions::Expression> const& stateDescription, bool checkOutOfBounds);
106
108 bool checkOutOfBounds = false);
109
110} // namespace generator
111} // namespace storm
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:16
Stores valuations of variables for a set of entities (e.g.
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)
void unpackStateAppendToValuations(CompressedState const &state, VariableInformation const &variableInformation, storm::storage::sparse::ValuationsStorage &valuations)
Appends the values of the variables in the given state to the valuations object.
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.
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
void unpackObservationClassIntoValuations(CompressedState const &observationClass, uint64_t const observationClassIndex, VariableInformation const &variableInformation, storm::storage::sparse::ValuationsStorage &valuations)
Sets the values of observable variables and observation expressions to the given observationClassInde...
storm::storage::BitVector computeObservabilityMask(VariableInformation const &variableInformation)
storm::json< ValueType > unpackStateIntoJson(CompressedState const &state, VariableInformation const &variableInformation, bool onlyObservable)
nlohmann::basic_json< std::map, std::vector, std::string, bool, int64_t, uint64_t, ValueType > json
Definition JsonForward.h:11