25 template<DdType LibraryType, typename ValueType>
50 template<typename ValueType>
51 InternalAdd<DdType::Sylvan, ValueType> getAddOne() const;
65 InternalBdd<DdType::Sylvan> getBddEncodingLessOrEqualThan(uint64_t bound, InternalBdd<DdType::Sylvan> const& cube, uint64_t numberOfDdVariables) const;
72 template<typename ValueType>
73 InternalAdd<DdType::Sylvan, ValueType> getAddZero() const;
80 template<typename ValueType>
81 InternalAdd<DdType::Sylvan, ValueType> getAddUndefined() const;
88 template<typename ValueType>
89 InternalAdd<DdType::Sylvan, ValueType> getConstant(ValueType const& value) const;
98 std::vector<InternalBdd<DdType::Sylvan>> createDdVariables(uint64_t numberOfLayers, boost::optional<uint_fast64_t> const& position = boost::none);
106 bool supportsOrderedInsertion() const;
113 void allowDynamicReordering(bool value);
120 bool isDynamicReorderingAllowed() const;
125 void triggerReordering();
130 void debugCheck() const;
140 void execute(std::function<void()> const& f) const;
147 uint_fast64_t getNumberOfDdVariables() const;
150#ifdef STORM_HAVE_SYLVAN
153 BDD getBddEncodingLessOrEqualThanRec(uint64_t minimalValue, uint64_t maximalValue, uint64_t bound, BDD cube, uint64_t remainingDdVariables) const;
158 static uint_fast64_t numberOfInstances;
162 static bool suspended;
166 static uint_fast64_t nextFreeVariableIndex;