37 std::set<storm::expressions::Variable>
const& stateVariables,
49 std::pair<storm::dd::Add<storm::dd::DdType::CUDD, ValueType>, boost::optional<storm::dd::Add<storm::dd::DdType::CUDD, ValueType>>> refine(
52 DdNodePtr encodeBlock(uint64_t blockIndex);
54 std::pair<DdNodePtr, DdNodePtr> reuseOrRelabel(DdNode* partitionNode, DdNode* nondeterminismVariablesNode, DdNode* nonBlockVariablesNode);
56 std::pair<DdNodePtr, DdNodePtr> refine(DdNode* partitionNode, DdNode* signatureNode, DdNode* nondeterminismVariablesNode, DdNode* nonBlockVariablesNode);
61 std::set<storm::expressions::Variable> stateVariables;
71 std::vector<uint64_t> blockDdVariableIndices;
74 std::vector<int> blockEncoding;
77 uint64_t nextFreeBlockIndex;
80 uint64_t numberOfRefinements;
83 phmap::flat_hash_map<std::pair<DdNode const*, DdNode const*>, std::pair<DdNodePtr, DdNodePtr>, CuddPointerPairHash> signatureCache;
86 phmap::flat_hash_map<DdNode const*, ReuseWrapper> reuseBlocksCache;