protected static SingleBenchmarkResult createMerge( SolverBenchmarkResult solverBenchmarkResult, ProblemBenchmarkResult problemBenchmarkResult, SingleBenchmarkResult oldResult) { SingleBenchmarkResult newResult = new SingleBenchmarkResult(solverBenchmarkResult, problemBenchmarkResult); newResult.pureSingleStatisticList = new ArrayList<PureSingleStatistic>(oldResult.pureSingleStatisticList.size()); for (PureSingleStatistic oldSingleStatistic : oldResult.pureSingleStatisticList) { newResult.pureSingleStatisticList.add( oldSingleStatistic.getStatisticType().buildPureSingleStatistic(newResult)); } newResult.initSingleStatisticMap(); for (SingleStatistic singleStatistic : newResult.effectiveSingleStatisticMap.values()) { singleStatistic.setPointList( oldResult.getSingleStatistic(singleStatistic.getStatisticType()).getPointList()); } // Skip oldResult.reportDirectory // Skip oldResult.usedMemoryAfterInputSolution newResult.succeeded = oldResult.succeeded; newResult.score = oldResult.score; newResult.timeMillisSpent = oldResult.timeMillisSpent; newResult.calculateCount = oldResult.calculateCount; solverBenchmarkResult.getSingleBenchmarkResultList().add(newResult); problemBenchmarkResult.getSingleBenchmarkResultList().add(newResult); return newResult; }
public void initSingleStatisticMap() { effectiveSingleStatisticMap = new HashMap<StatisticType, SingleStatistic>( problemBenchmarkResult.getProblemStatisticList().size()); for (ProblemStatistic problemStatistic : problemBenchmarkResult.getProblemStatisticList()) { SingleStatistic singleStatistic = problemStatistic.createSingleStatistic(this); effectiveSingleStatisticMap.put(singleStatistic.getStatisticType(), singleStatistic); } for (PureSingleStatistic pureSingleStatistic : pureSingleStatisticList) { effectiveSingleStatisticMap.put(pureSingleStatistic.getStatisticType(), pureSingleStatistic); } }