|  |  | @ -184,6 +184,23 @@ namespace storm { | 
			
		
	
		
			
				
					|  |  |  |             this->cuddAdd = this->cuddAdd.OrAbstract(cubeDd.getCuddAdd()); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |          | 
			
		
	
		
			
				
					|  |  |  |         void Dd<DdType::CUDD>::universalAbstract(std::set<std::string> const& metaVariableNames) { | 
			
		
	
		
			
				
					|  |  |  |             Dd<DdType::CUDD> cubeDd(this->getDdManager()->getOne()); | 
			
		
	
		
			
				
					|  |  |  |              | 
			
		
	
		
			
				
					|  |  |  |             for (auto const& metaVariableName : metaVariableNames) { | 
			
		
	
		
			
				
					|  |  |  |                 // First check whether the DD contains the meta variable and erase it, if this is the case.
 | 
			
		
	
		
			
				
					|  |  |  |                 if (!this->containsMetaVariable(metaVariableName)) { | 
			
		
	
		
			
				
					|  |  |  |                     throw storm::exceptions::InvalidArgumentException() << "Cannot abstract from meta variable that is not present in the DD."; | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |                 this->getContainedMetaVariableNames().erase(metaVariableName); | 
			
		
	
		
			
				
					|  |  |  |                  | 
			
		
	
		
			
				
					|  |  |  |                 DdMetaVariable<DdType::CUDD> const& metaVariable = this->getDdManager()->getMetaVariable(metaVariableName); | 
			
		
	
		
			
				
					|  |  |  |                 cubeDd *= metaVariable.getCube(); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |              | 
			
		
	
		
			
				
					|  |  |  |             this->cuddAdd = this->cuddAdd.UnivAbstract(cubeDd.getCuddAdd()); | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |          | 
			
		
	
		
			
				
					|  |  |  |         void Dd<DdType::CUDD>::sumAbstract(std::set<std::string> const& metaVariableNames) { | 
			
		
	
		
			
				
					|  |  |  |             Dd<DdType::CUDD> cubeDd(this->getDdManager()->getOne()); | 
			
		
	
		
			
				
					|  |  |  |              | 
			
		
	
	
		
			
				
					|  |  | 
 |