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