@ -1,3 +1,4 @@ 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					# include  "storm/exceptions/NotSupportedException.h" 
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					# include  "storm/storage/expressions/ToDiceStringVisitor.h" 
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					namespace  storm  {  
				
			 
			
		
	
	
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
				
				 
				
					@ -105,11 +106,12 @@ namespace storm { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " ) " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    break ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                case  BinaryNumericalFunctionExpression : : OperatorType : : Modulo :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " ( " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    STORM_LOG_THROW ( expression . getSecondOperand ( ) - > isIntegerLiteralExpression ( ) ,  storm : : exceptions : : NotSupportedException ,  " Dice does not support modulo with nonconst rhs " ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    STORM_LOG_THROW ( expression . getSecondOperand ( ) - > evaluateAsInt ( )  = =  2 ,  storm : : exceptions : : NotSupportedException ,  " Dice does not support modulo with rhs != 2 " ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " ( nth_bit(int( "  < <  nrBits  < <  " , "  < <  nrBits  < <  " ),  " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    expression . getFirstOperand ( ) - > accept ( * this ,  data ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " % " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    expression . getSecondOperand ( ) - > accept ( * this ,  data ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " ) " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " )) " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    break ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                case  BinaryNumericalFunctionExpression : : OperatorType : : Max :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " max( " ;  
				
			 
			
		
	
	
		
			
				
					
						
						
						
							
								 
							 
						
					 
				
				 
				
					@ -132,11 +134,18 @@ namespace storm { 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        boost : : any  ToDiceStringVisitor : : visit ( BinaryRelationExpression  const &  expression ,  boost : : any  const &  data )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            switch  ( expression . getRelationType ( ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                case  BinaryRelationExpression : : RelationType : : Equal :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " ( " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    expression . getFirstOperand ( ) - > accept ( * this ,  data ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " == " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    expression . getSecondOperand ( ) - > accept ( * this ,  data ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " ) " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    if  ( expression . getFirstOperand ( ) - > isBinaryNumericalFunctionExpression ( ) )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        if  ( expression . getFirstOperand ( ) - > asBinaryNumericalFunctionExpression ( ) . getOperatorType ( )  = =  BinaryNumericalFunctionExpression : : OperatorType : : Modulo )  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                            expression . getFirstOperand ( ) - > accept ( * this ,  data ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  else  {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        stream  < <  " ( " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        expression . getFirstOperand ( ) - > accept ( * this ,  data ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        stream  < <  " == " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        expression . getSecondOperand ( ) - > accept ( * this ,  data ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        stream  < <  " ) " ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    break ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                case  BinaryRelationExpression : : RelationType : : NotEqual :  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    stream  < <  " ( " ;