@ -50,14 +50,18 @@ namespace storm {
auto epochOrder = rewardUnfolding . getEpochComputationOrder ( initEpoch ) ;
EpochCheckingData cachedData ;
ValueType precision = storm : : utility : : convertNumber < ValueType > ( storm : : settings : : getModule < storm : : settings : : modules : : GeneralSettings > ( ) . getPrecision ( ) ) ;
if ( storm : : settings : : getModule < storm : : settings : : modules : : GeneralSettings > ( ) . isSoundSet ( ) ) {
uint64_t denom = 0 ;
uint64_t epochCount = 0 ;
for ( uint64_t dim = 0 ; dim < rewardUnfolding . getEpochManager ( ) . getDimensionCount ( ) ; + + dim ) {
denom + = rewardUnfolding . getEpochManager ( ) . getDimensionOfEpoch ( initEpoch , dim ) + 1 ;
epochCount + = rewardUnfolding . getEpochManager ( ) . getDimensionOfEpoch ( initEpoch , dim ) + 1 ;
}
if ( storm : : settings : : getModule < storm : : settings : : modules : : GeneralSettings > ( ) . isSoundSet ( ) ) {
precision = precision / storm : : utility : : convertNumber < ValueType > ( epochCount ) ;
}
precision = precision / storm : : utility : : convertNumber < ValueType > ( denom ) ;
if ( numChecks = = 1 ) {
STORM_PRINT_AND_LOG ( " Objective/Dimension/Epoch count is: " < < 1 < < " / " < < rewardUnfolding . getEpochManager ( ) . getDimensionCount ( ) < < " / " < < epochCount < < " . " < < std : : endl ) ;
}
for ( auto const & epoch : epochOrder ) {
computeEpochSolution ( epoch , weightVector , cachedData , precision ) ;
if ( storm : : settings : : getModule < storm : : settings : : modules : : IOSettings > ( ) . isExportCdfSet ( ) & & ! rewardUnfolding . getEpochManager ( ) . hasBottomDimension ( epoch ) ) {