37 std::set<storm::expressions::Variable>
const& stateVariables,
48 std::pair<storm::dd::Add<storm::dd::DdType::CUDD, ValueType>, boost::optional<storm::dd::Add<storm::dd::DdType::CUDD, ValueType>>> refine(
51 DdNodePtr encodeBlock(uint64_t blockIndex);
53 std::pair<DdNodePtr, DdNodePtr> reuseOrRelabel(DdNode* partitionNode, DdNode* nondeterminismVariablesNode, DdNode* nonBlockVariablesNode);
55 std::pair<DdNodePtr, DdNodePtr> refine(DdNode* partitionNode, DdNode* signatureNode, DdNode* nondeterminismVariablesNode, DdNode* nonBlockVariablesNode);
60 std::set<storm::expressions::Variable> stateVariables;
70 std::vector<uint64_t> blockDdVariableIndices;
73 std::vector<int> blockEncoding;
76 uint64_t nextFreeBlockIndex;
79 uint64_t numberOfRefinements;
82 phmap::flat_hash_map<std::pair<DdNode const*, DdNode const*>, std::pair<DdNodePtr, DdNodePtr>,
CuddPointerPairHash> signatureCache;
85 phmap::flat_hash_map<DdNode const*, ReuseWrapper> reuseBlocksCache;