Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/03/15 23:33:19 (9 years ago)
Author:
abeham
Message:

#2431: Changed analyzer to always output last value (even if quality is equal)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/PerformanceComparison/HeuristicLab.Analysis/3.3/QualityAnalysis/QualityPerEvaluationsAnalyzer.cs

    r12808 r12834  
    9191      var values = dataTable.Rows["First-hit Graph"].Values;
    9292      if (evaluations == 0 || values.Count > 0 && evaluations < values.Last().Item1) evaluations = 1;
    93       if (values.Count == 0 || values.Last().Item2 != bestQuality)
    94         values.Add(Tuple.Create((double)evaluations, bestQuality));
     93      var newEntry = Tuple.Create(evaluations, bestQuality);
    9594
     95      if (values.Count == 0) {
     96        values.Add(newEntry);
     97        values.Add(Tuple.Create(evaluations, bestQuality)); // duplicate entry that will be replaced
     98        return base.Apply();
     99      }
     100
     101      var improvement = values.Last().Item2 != bestQuality;
     102      if (improvement) {
     103        values[values.Count - 1] = newEntry;
     104        values.Add(Tuple.Create(evaluations, bestQuality)); // duplicate entry that will be replaced
     105      } else {
     106        values[values.Count - 1] = Tuple.Create(evaluations, bestQuality);
     107      }
    96108      return base.Apply();
    97109    }
Note: See TracChangeset for help on using the changeset viewer.