Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
MemoryStateManager.h
Go to the documentation of this file.
1#pragma once
2
3#include <set>
4#include <string>
5#include <vector>
6
8
9namespace storm {
10namespace modelchecker {
11namespace helper {
12namespace rewardbounded {
13
15 public:
16 typedef uint64_t MemoryState;
17
18 MemoryStateManager(uint64_t dimensionCount);
19
20 void setDimensionWithoutMemory(uint64_t dimension);
21
22 uint64_t const& getDimensionCount() const;
23 uint64_t const& getMemoryStateCount() const;
24 MemoryState const& getUpperMemoryStateBound() const; // is larger then every valid memory state m, i.e., m < getUpperMemoryStateBound() holds for all m
25
27 bool isRelevantDimension(MemoryState const& state, uint64_t dimension) const;
28 void setRelevantDimension(MemoryState& state, uint64_t dimension, bool value = true) const;
29 void setRelevantDimensions(MemoryState& state, storm::storage::BitVector const& dimensions, bool value = true) const;
30
31 std::string toString(MemoryState const& state) const;
32
33 private:
34 uint64_t const dimensionCount;
35 uint64_t const dimensionBitMask;
36 uint64_t const relevantBitsMask;
37 uint64_t stateCount;
38 uint64_t dimensionsWithoutMemoryMask;
39 MemoryState const upperMemoryStateBound;
40};
41} // namespace rewardbounded
42} // namespace helper
43} // namespace modelchecker
44} // namespace storm
bool isRelevantDimension(MemoryState const &state, uint64_t dimension) const
void setRelevantDimension(MemoryState &state, uint64_t dimension, bool value=true) const
void setRelevantDimensions(MemoryState &state, storm::storage::BitVector const &dimensions, bool value=true) const
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:18
LabParser.cpp.
Definition cli.cpp:18