| 
					
					
						
							
						
					
					
				 | 
				@ -325,18 +325,18 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				        template<typename ValueType> | 
				 | 
				 | 
				        template<typename ValueType> | 
			
		
		
	
		
			
				 | 
				 | 
				        ValueType InternalAdd<DdType::CUDD, ValueType>::getMin() const { | 
				 | 
				 | 
				        ValueType InternalAdd<DdType::CUDD, ValueType>::getMin() const { | 
			
		
		
	
		
			
				 | 
				 | 
				            cudd::ADD constantMinAdd = this->getCuddAdd().FindMin(); | 
				 | 
				 | 
				            cudd::ADD constantMinAdd = this->getCuddAdd().FindMin(); | 
			
		
		
	
		
			
				 | 
				 | 
				            return static_cast<double>(Cudd_V(constantMinAdd.getNode())); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            return storm::utility::convertNumber<ValueType>(Cudd_V(constantMinAdd.getNode())); | 
			
		
		
	
		
			
				 | 
				 | 
				        } | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				         | 
				 | 
				 | 
				         | 
			
		
		
	
		
			
				 | 
				 | 
				        template<typename ValueType> | 
				 | 
				 | 
				        template<typename ValueType> | 
			
		
		
	
		
			
				 | 
				 | 
				        ValueType InternalAdd<DdType::CUDD, ValueType>::getMax() const { | 
				 | 
				 | 
				        ValueType InternalAdd<DdType::CUDD, ValueType>::getMax() const { | 
			
		
		
	
		
			
				 | 
				 | 
				            cudd::ADD constantMaxAdd = this->getCuddAdd().FindMax(); | 
				 | 
				 | 
				            cudd::ADD constantMaxAdd = this->getCuddAdd().FindMax(); | 
			
		
		
	
		
			
				 | 
				 | 
				            return static_cast<double>(Cudd_V(constantMaxAdd.getNode())); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            return storm::utility::convertNumber<ValueType>(Cudd_V(constantMaxAdd.getNode())); | 
			
		
		
	
		
			
				 | 
				 | 
				        } | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				         | 
				 | 
				 | 
				         | 
			
		
		
	
		
			
				 | 
				 | 
				        template<typename ValueType> | 
				 | 
				 | 
				        template<typename ValueType> | 
			
		
		
	
		
			
				 | 
				 | 
				        ValueType InternalAdd<DdType::CUDD, ValueType>::getValue() const { | 
				 | 
				 | 
				        ValueType InternalAdd<DdType::CUDD, ValueType>::getValue() const { | 
			
		
		
	
		
			
				 | 
				 | 
				            return static_cast<ValueType>(Cudd_V(this->getCuddAdd().getNode())); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            return storm::utility::convertNumber<ValueType>(Cudd_V(this->getCuddAdd().getNode())); | 
			
		
		
	
		
			
				 | 
				 | 
				        } | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				         | 
				 | 
				 | 
				         | 
			
		
		
	
		
			
				 | 
				 | 
				        template<typename ValueType> | 
				 | 
				 | 
				        template<typename ValueType> | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
						
							
						
					
					
				 | 
				@ -403,7 +403,7 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				            int* cube; | 
				 | 
				 | 
				            int* cube; | 
			
		
		
	
		
			
				 | 
				 | 
				            double value; | 
				 | 
				 | 
				            double value; | 
			
		
		
	
		
			
				 | 
				 | 
				            DdGen* generator = this->getCuddAdd().FirstCube(&cube, &value); | 
				 | 
				 | 
				            DdGen* generator = this->getCuddAdd().FirstCube(&cube, &value); | 
			
		
		
	
		
			
				 | 
				 | 
				            return AddIterator<DdType::CUDD, ValueType>(fullDdManager, generator, cube, value, (Cudd_IsGenEmpty(generator) != 0), &metaVariables, enumerateDontCareMetaVariables); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				            return AddIterator<DdType::CUDD, ValueType>(fullDdManager, generator, cube, storm::utility::convertNumber<ValueType>(value), (Cudd_IsGenEmpty(generator) != 0), &metaVariables, enumerateDontCareMetaVariables); | 
			
		
		
	
		
			
				 | 
				 | 
				        } | 
				 | 
				 | 
				        } | 
			
		
		
	
		
			
				 | 
				 | 
				         | 
				 | 
				 | 
				         | 
			
		
		
	
		
			
				 | 
				 | 
				        template<typename ValueType> | 
				 | 
				 | 
				        template<typename ValueType> | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
						
							
						
					
					
				 | 
				@ -504,7 +504,7 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				            // If we are at the maximal level, the value to be set is stored as a constant in the DD.
 | 
				 | 
				 | 
				            // If we are at the maximal level, the value to be set is stored as a constant in the DD.
 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (currentLevel == maxLevel) { | 
				 | 
				 | 
				            if (currentLevel == maxLevel) { | 
			
		
		
	
		
			
				 | 
				 | 
				                ValueType& targetValue = targetVector[offsets != nullptr ? (*offsets)[currentOffset] : currentOffset]; | 
				 | 
				 | 
				                ValueType& targetValue = targetVector[offsets != nullptr ? (*offsets)[currentOffset] : currentOffset]; | 
			
		
		
	
		
			
				 | 
				 | 
				                targetValue = function(targetValue, Cudd_V(dd)); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                targetValue = function(targetValue, storm::utility::convertNumber<ValueType>(Cudd_V(dd))); | 
			
		
		
	
		
			
				 | 
				 | 
				            } else if (ddVariableIndices[currentLevel] < Cudd_NodeReadIndex(dd)) { | 
				 | 
				 | 
				            } else if (ddVariableIndices[currentLevel] < Cudd_NodeReadIndex(dd)) { | 
			
		
		
	
		
			
				 | 
				 | 
				                // If we skipped a level, we need to enumerate the explicit entries for the case in which the bit is set
 | 
				 | 
				 | 
				                // If we skipped a level, we need to enumerate the explicit entries for the case in which the bit is set
 | 
			
		
		
	
		
			
				 | 
				 | 
				                // and for the one in which it is not set.
 | 
				 | 
				 | 
				                // and for the one in which it is not set.
 | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
						
							
						
					
					
				 | 
				@ -590,7 +590,7 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				            // If we are at the maximal level, the value to be set is stored as a constant in the DD.
 | 
				 | 
				 | 
				            // If we are at the maximal level, the value to be set is stored as a constant in the DD.
 | 
			
		
		
	
		
			
				 | 
				 | 
				            if (currentRowLevel + currentColumnLevel == maxLevel) { | 
				 | 
				 | 
				            if (currentRowLevel + currentColumnLevel == maxLevel) { | 
			
		
		
	
		
			
				 | 
				 | 
				                if (generateValues) { | 
				 | 
				 | 
				                if (generateValues) { | 
			
		
		
	
		
			
				 | 
				 | 
				                    columnsAndValues[rowIndications[rowGroupOffsets[currentRowOffset]]] = storm::storage::MatrixEntry<uint_fast64_t, ValueType>(currentColumnOffset, Cudd_V(dd)); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    columnsAndValues[rowIndications[rowGroupOffsets[currentRowOffset]]] = storm::storage::MatrixEntry<uint_fast64_t, ValueType>(currentColumnOffset, storm::utility::convertNumber<ValueType>(Cudd_V(dd))); | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				                } | 
			
		
		
	
		
			
				 | 
				 | 
				                ++rowIndications[rowGroupOffsets[currentRowOffset]]; | 
				 | 
				 | 
				                ++rowIndications[rowGroupOffsets[currentRowOffset]]; | 
			
		
		
	
		
			
				 | 
				 | 
				            } else { | 
				 | 
				 | 
				            } else { | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
					
				 | 
				
  |