Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/07/16 17:44:04 (7 years ago)
Author:
mkommend
Message:

#2672: Corrected cloning of online calculators (added missing base ctor calls, moved clone method, renamed other to original, and used the cloner for cloning).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.4/OnlineCalculators/OnlineTheilsUStatisticCalculator.cs

    r14376 r14465  
    2626namespace HeuristicLab.Problems.DataAnalysis {
    2727  public class OnlineTheilsUStatisticCalculator : DeepCloneable, IOnlineTimeSeriesCalculator {
    28     private OnlineMeanAndVarianceCalculator squaredErrorMeanCalculator;
    29     private OnlineMeanAndVarianceCalculator unbiasedEstimatorMeanCalculator;
     28    private readonly OnlineMeanAndVarianceCalculator squaredErrorMeanCalculator;
     29    private readonly OnlineMeanAndVarianceCalculator unbiasedEstimatorMeanCalculator;
    3030
    3131    public double TheilsUStatistic {
     
    4646    }
    4747
    48     protected OnlineTheilsUStatisticCalculator(OnlineTheilsUStatisticCalculator other, Cloner cloner) {
    49       squaredErrorMeanCalculator = (OnlineMeanAndVarianceCalculator)other.squaredErrorMeanCalculator.Clone(cloner);
    50       unbiasedEstimatorMeanCalculator = (OnlineMeanAndVarianceCalculator)other.unbiasedEstimatorMeanCalculator.Clone(cloner);
     48    protected OnlineTheilsUStatisticCalculator(OnlineTheilsUStatisticCalculator original, Cloner cloner)
     49      : base(original, cloner) {
     50      squaredErrorMeanCalculator = cloner.Clone(original.squaredErrorMeanCalculator);
     51      unbiasedEstimatorMeanCalculator = cloner.Clone(original.unbiasedEstimatorMeanCalculator);
     52    }
     53    public override IDeepCloneable Clone(Cloner cloner) {
     54      return new OnlineTheilsUStatisticCalculator(this, cloner);
    5155    }
    5256
     
    131135      }
    132136    }
    133 
    134     public override IDeepCloneable Clone(Cloner cloner) {
    135       return new OnlineTheilsUStatisticCalculator(this, cloner);
    136     }
    137137  }
    138138}
Note: See TracChangeset for help on using the changeset viewer.