Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/29/10 19:26:56 (14 years ago)
Author:
gkronber
Message:

Refactored cloning in DataAnalysis plugins. #922

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CloningRefactoring/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Analyzers/SymbolicRegressionTournamentPruning.cs

    r4468 r4678  
    2222using System.Collections.Generic;
    2323using System.Linq;
     24using HeuristicLab.Common;
    2425using HeuristicLab.Core;
    2526using HeuristicLab.Data;
     
    3334
    3435namespace HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Analyzers {
    35   public class SymbolicRegressionTournamentPruning : SingleSuccessorOperator, ISymbolicRegressionAnalyzer {
     36  public sealed class SymbolicRegressionTournamentPruning : SingleSuccessorOperator, ISymbolicRegressionAnalyzer {
    3637    private const string RandomParameterName = "Random";
    3738    private const string SymbolicExpressionTreeParameterName = "SymbolicExpressionTree";
     
    176177    }
    177178    #endregion
    178     protected SymbolicRegressionTournamentPruning(bool deserializing) : base(deserializing) { }
     179
     180    [StorableConstructor]
     181    private SymbolicRegressionTournamentPruning(bool deserializing) : base(deserializing) { }
     182    protected SymbolicRegressionTournamentPruning(SymbolicRegressionTournamentPruning original, Cloner cloner) : base(original, cloner) { }
    179183    public SymbolicRegressionTournamentPruning()
    180184      : base() {
     
    201205    }
    202206
     207    public override IDeepCloneable Clone(Cloner cloner) {
     208      return new SymbolicRegressionTournamentPruning(this, cloner);
     209    }
     210
    203211    [StorableHook(HookType.AfterDeserialization)]
    204212    private void AfterDeserialization() {
     
    241249      double lowerEstimationLimit, double upperEstimationLimit,
    242250      double maxPruningRatio, double qualityGainWeight) {
    243         IEnumerable<int> rows = Enumerable.Range(samplesStart, samplesEnd - samplesStart)
    244           .Where(i => i < problemData.TestSamplesStart.Value || problemData.TestSamplesEnd.Value <= i);
     251      IEnumerable<int> rows = Enumerable.Range(samplesStart, samplesEnd - samplesStart)
     252        .Where(i => i < problemData.TestSamplesStart.Value || problemData.TestSamplesEnd.Value <= i);
    245253      int originalSize = tree.Size;
    246254      double originalQuality = evaluator.Evaluate(interpreter, tree,
Note: See TracChangeset for help on using the changeset viewer.