| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -325,18 +325,18 @@ namespace storm { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        template<typename ValueType> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ValueType InternalAdd<DdType::CUDD, ValueType>::getMin() const { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            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> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        ValueType InternalAdd<DdType::CUDD, ValueType>::getMax() const { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            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> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        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> | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -403,7 +403,7 @@ namespace storm { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            int* cube; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            double 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> | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -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 (currentLevel == maxLevel) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                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)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                // 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.
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -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 (currentRowLevel + currentColumnLevel == maxLevel) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                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]]; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } else { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |