| 
					
					
						
							
						
					
					
				 | 
				@ -33,16 +33,24 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				                storm::storage::SparseMatrixBuilder<ConstantType> matrixBuilder(parametricMatrix.getRowCount(), | 
				 | 
				 | 
				                storm::storage::SparseMatrixBuilder<ConstantType> matrixBuilder(parametricMatrix.getRowCount(), | 
			
		
		
	
		
			
				 | 
				 | 
				                                                                                parametricMatrix.getColumnCount(), | 
				 | 
				 | 
				                                                                                parametricMatrix.getColumnCount(), | 
			
		
		
	
		
			
				 | 
				 | 
				                                                                                parametricMatrix.getEntryCount(), | 
				 | 
				 | 
				                                                                                parametricMatrix.getEntryCount(), | 
			
		
		
	
		
			
				 | 
				 | 
				                                                                                true, // no force dimensions
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                                                                                true, //Custom row grouping
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                                                                                parametricMatrix.getRowGroupCount()); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                for(std::size_t rowGroup = 0; rowGroup < parametricMatrix.getRowGroupCount(); ++rowGroup){ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    matrixBuilder.newRowGroup(parametricMatrix.getRowGroupIndices()[rowGroup]); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                    for(std::size_t row = parametricMatrix.getRowGroupIndices()[rowGroup]; row < parametricMatrix.getRowGroupIndices()[rowGroup+1]; ++row){ | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                                                                                true, | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                                                                                !parametricMatrix.hasTrivialRowGrouping(), | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                                                                                parametricMatrix.hasTrivialRowGrouping() ? 0 : parametricMatrix.getRowGroupCount()); | 
			
		
		
	
		
			
				 | 
				 | 
				                ConstantType dummyValue = storm::utility::one<ConstantType>(); | 
				 | 
				 | 
				                ConstantType dummyValue = storm::utility::one<ConstantType>(); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                if (parametricMatrix.hasTrivialRowGrouping()) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    for (uint_fast64_t row = 0; row < parametricMatrix.getRowCount(); ++row) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                        for (auto const& paramEntry : parametricMatrix.getRow(row)) { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                            matrixBuilder.addNextValue(row, paramEntry.getColumn(), dummyValue); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                        } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                } | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                else { | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                    for(uint_fast64_t rowGroup = 0; rowGroup < parametricMatrix.getRowGroupCount(); ++rowGroup){ | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                        matrixBuilder.newRowGroup(parametricMatrix.getRowGroupIndices()[rowGroup]); | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                        for (uint_fast64_t row = parametricMatrix.getRowGroupIndices()[rowGroup]; row < parametricMatrix.getRowGroupIndices()[rowGroup+1]; ++row) { | 
			
		
		
	
		
			
				 | 
				 | 
				                            for(auto const& paramEntry : parametricMatrix.getRow(row)){ | 
				 | 
				 | 
				                            for(auto const& paramEntry : parametricMatrix.getRow(row)){ | 
			
		
		
	
		
			
				 | 
				 | 
				                                matrixBuilder.addNextValue(row, paramEntry.getColumn(), dummyValue); | 
				 | 
				 | 
				                                matrixBuilder.addNextValue(row, paramEntry.getColumn(), dummyValue); | 
			
		
		
	
		
			
				 | 
				 | 
				                            dummyValue = storm::utility::zero<ConstantType>(); | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				 | 
				 | 
				 | 
				                            } | 
			
		
		
	
		
			
				 | 
				 | 
				                        } | 
				 | 
				 | 
				                        } | 
			
		
		
	
		
			
				 | 
				 | 
				                    } | 
				 | 
				 | 
				                    } | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				                } | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
						
							
						
					
					
				 | 
				@ -96,7 +104,6 @@ namespace storm { | 
			
		
		
	
		
			
				 | 
				 | 
				                    ++parametricEntryIt; | 
				 | 
				 | 
				                    ++parametricEntryIt; | 
			
		
		
	
		
			
				 | 
				 | 
				                } | 
				 | 
				 | 
				                } | 
			
		
		
	
		
			
				 | 
				 | 
				                STORM_LOG_ASSERT(constantEntryIt == constantMatrix.end(), "Parametric matrix seems to have more or less entries then the constant matrix"); | 
				 | 
				 | 
				                STORM_LOG_ASSERT(constantEntryIt == constantMatrix.end(), "Parametric matrix seems to have more or less entries then the constant matrix"); | 
			
		
		
	
		
			
				 | 
				 | 
				                //TODO: is this necessary?
 | 
				 | 
				 | 
				 | 
			
		
		
	
		
			
				 | 
				 | 
				                constantMatrix.updateNonzeroEntryCount(); | 
				 | 
				 | 
				                constantMatrix.updateNonzeroEntryCount(); | 
			
		
		
	
		
			
				 | 
				 | 
				            } | 
				 | 
				 | 
				            } | 
			
		
		
	
		
			
				 | 
				 | 
				             | 
				 | 
				 | 
				             | 
			
		
		
	
	
		
			
				| 
					
						
							
						
					
					
					
				 | 
				
  |