@ -2,6 +2,8 @@ 
			
		 
		
	
		
			
				 
				 
				
 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				# include  "storm/modelchecker/prctl/helper/HybridDtmcPrctlHelper.h" 
  
				 
				 
				# include  "storm/modelchecker/prctl/helper/HybridDtmcPrctlHelper.h" 
  
			
		 
		
	
		
			
				 
				 
				# include  "storm/modelchecker/prctl/helper/SparseDtmcPrctlHelper.h" 
  
				 
				 
				# include  "storm/modelchecker/prctl/helper/SparseDtmcPrctlHelper.h" 
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				# include  "storm/modelchecker/helper/infinitehorizon/HybridInfiniteHorizonHelper.h" 
  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				# include  "storm/modelchecker/helper/utility/SetInformationFromCheckTask.h" 
  
			
		 
		
	
		
			
				 
				 
				
 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				# include  "storm/storage/dd/Odd.h" 
  
				 
				 
				# include  "storm/storage/dd/Odd.h" 
  
			
		 
		
	
		
			
				 
				 
				# include  "storm/storage/dd/DdManager.h" 
  
				 
				 
				# include  "storm/storage/dd/DdManager.h" 
  
			
		 
		
	
	
		
			
				
					
						
							 
						 
					
					
						
							 
						 
					
					
				 
				@ -113,20 +115,24 @@ namespace storm { 
			
		 
		
	
		
			
				 
				 
				            return  storm : : modelchecker : : helper : : HybridDtmcPrctlHelper < DdType ,  ValueType > : : computeReachabilityTimes ( env ,  this - > getModel ( ) ,  this - > getModel ( ) . getTransitionMatrix ( ) ,  subResult . getTruthValuesVector ( ) ,  checkTask . isQualitativeSet ( ) ) ;  
				 
				 
				            return  storm : : modelchecker : : helper : : HybridDtmcPrctlHelper < DdType ,  ValueType > : : computeReachabilityTimes ( env ,  this - > getModel ( ) ,  this - > getModel ( ) . getTransitionMatrix ( ) ,  subResult . getTruthValuesVector ( ) ,  checkTask . isQualitativeSet ( ) ) ;  
			
		 
		
	
		
			
				 
				 
				        }  
				 
				 
				        }  
			
		 
		
	
		
			
				 
				 
				
 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				
 
				 
				 
				 
			
		 
		
	
		
			
				 
				 
				        template < typename  ModelType >  
				 
				 
				        template < typename  ModelType >  
			
		 
		
	
		
			
				 
				 
				        std : : unique_ptr < CheckResult >  HybridDtmcPrctlModelChecker < ModelType > : : computeLongRunAverageProbabilities ( Environment  const &  env ,  CheckTask < storm : : logic : : StateFormula ,  ValueType >  const &  checkTask )  {  
				 
				 
				        std : : unique_ptr < CheckResult >  HybridDtmcPrctlModelChecker < ModelType > : : computeLongRunAverageProbabilities ( Environment  const &  env ,  CheckTask < storm : : logic : : StateFormula ,  ValueType >  const &  checkTask )  {  
			
		 
		
	
		
			
				 
				 
				            storm : : logic : : StateFormula  const &  stateFormula  =  checkTask . getFormula ( ) ;  
				 
				 
				            storm : : logic : : StateFormula  const &  stateFormula  =  checkTask . getFormula ( ) ;  
			
		 
		
	
		
			
				 
				 
				            std : : unique_ptr < CheckResult >  subResultPointer  =  this - > check ( env ,  stateFormula ) ;  
				 
				 
				            std : : unique_ptr < CheckResult >  subResultPointer  =  this - > check ( env ,  stateFormula ) ;  
			
		 
		
	
		
			
				 
				 
				            SymbolicQualitativeCheckResult < DdType >  const &  subResult  =  subResultPointer - > asSymbolicQualitativeCheckResult < DdType > ( ) ;  
				 
				 
				            SymbolicQualitativeCheckResult < DdType >  const &  subResult  =  subResultPointer - > asSymbolicQualitativeCheckResult < DdType > ( ) ;  
			
		 
		
	
		
			
				 
				 
				             
				 
				 
				             
			
		 
		
	
		
			
				 
				 
				            return  storm : : modelchecker : : helper : : HybridDtmcPrctlHelper < DdType ,  ValueType > : : computeLongRunAverageProbabilities ( env ,  this - > getModel ( ) ,  this - > getModel ( ) . getTransitionMatrix ( ) ,  subResult . getTruthValuesVector ( ) ) ;  
				 
				 
				 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            storm : : modelchecker : : helper : : HybridInfiniteHorizonHelper < ValueType ,  DdType ,  false >  helper ( this - > getModel ( ) ,  this - > getModel ( ) . getTransitionMatrix ( ) ) ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            storm : : modelchecker : : helper : : setInformationFromCheckTaskDeterministic ( helper ,  checkTask ,  this - > getModel ( ) ) ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            return  helper . computeLongRunAverageProbabilities ( env ,  subResult . getTruthValuesVector ( ) ) ;  
			
		 
		
	
		
			
				 
				 
				        }  
				 
				 
				        }  
			
		 
		
	
		
			
				 
				 
				         
				 
				 
				         
			
		 
		
	
		
			
				 
				 
				        template < typename  ModelType >  
				 
				 
				        template < typename  ModelType >  
			
		 
		
	
		
			
				 
				 
				        std : : unique_ptr < CheckResult >  HybridDtmcPrctlModelChecker < ModelType > : : computeLongRunAverageRewards ( Environment  const &  env ,  storm : : logic : : RewardMeasureType  rewardMeasureType ,  CheckTask < storm : : logic : : LongRunAverageRewardFormula ,  ValueType >  const &  checkTask )  {  
				 
				 
				        std : : unique_ptr < CheckResult >  HybridDtmcPrctlModelChecker < ModelType > : : computeLongRunAverageRewards ( Environment  const &  env ,  storm : : logic : : RewardMeasureType  rewardMeasureType ,  CheckTask < storm : : logic : : LongRunAverageRewardFormula ,  ValueType >  const &  checkTask )  {  
			
		 
		
	
		
			
				 
				 
				            auto  rewardModel  =  storm : : utility : : createFilteredRewardModel ( this - > getModel ( ) ,  checkTask ) ;  
				 
				 
				            auto  rewardModel  =  storm : : utility : : createFilteredRewardModel ( this - > getModel ( ) ,  checkTask ) ;  
			
		 
		
	
		
			
				 
				 
				            return  storm : : modelchecker : : helper : : HybridDtmcPrctlHelper < DdType ,  ValueType > : : computeLongRunAverageRewards ( env ,  this - > getModel ( ) ,  this - > getModel ( ) . getTransitionMatrix ( ) ,  rewardModel . get ( ) ) ;  
				 
				 
				 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				
 
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            storm : : modelchecker : : helper : : HybridInfiniteHorizonHelper < ValueType ,  DdType ,  false >  helper ( this - > getModel ( ) ,  this - > getModel ( ) . getTransitionMatrix ( ) ) ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            storm : : modelchecker : : helper : : setInformationFromCheckTaskDeterministic ( helper ,  checkTask ,  this - > getModel ( ) ) ;  
			
		 
		
	
		
			
				 
				 
				 
				 
				 
				            return  helper . computeLongRunAverageRewards ( env ,  rewardModel . get ( ) ) ;  
			
		 
		
	
		
			
				 
				 
				        }  
				 
				 
				        }  
			
		 
		
	
		
			
				 
				 
				         
				 
				 
				         
			
		 
		
	
		
			
				 
				 
				        template  class  HybridDtmcPrctlModelChecker < storm : : models : : symbolic : : Dtmc < storm : : dd : : DdType : : CUDD ,  double > > ;  
				 
				 
				        template  class  HybridDtmcPrctlModelChecker < storm : : models : : symbolic : : Dtmc < storm : : dd : : DdType : : CUDD ,  double > > ;