Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/17/14 18:52:37 (9 years ago)
Author:
bburlacu
Message:

#1772: Fixed cloning in tracking operators for symbolic data analysis. Added unit tests (in progress).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionBeforeCrossoverOperator.cs

    r11233 r11694  
    2121
    2222using System.Linq;
     23using HeuristicLab.Common;
    2324using HeuristicLab.Core;
    2425using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2526using HeuristicLab.EvolutionTracking;
     27using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2628
    2729namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
    2830  public class SymbolicDataAnalysisExpressionBeforeCrossoverOperator : BeforeCrossoverOperator<ISymbolicExpressionTree> {
     31    public SymbolicDataAnalysisExpressionBeforeCrossoverOperator() { }
     32
     33    protected SymbolicDataAnalysisExpressionBeforeCrossoverOperator(SymbolicDataAnalysisExpressionBeforeCrossoverOperator original, Cloner cloner)
     34      : base(original, cloner) {
     35    }
     36
     37    public override IDeepCloneable Clone(Cloner cloner) {
     38      return new SymbolicDataAnalysisExpressionBeforeCrossoverOperator(this, cloner);
     39    }
     40
     41    [StorableConstructor]
     42    protected SymbolicDataAnalysisExpressionBeforeCrossoverOperator(bool deserializing) : base(deserializing) { }
     43
    2944    public override IOperation Apply() {
    3045      var result = base.Apply(); // the base operator will add the child to the graph before the actual crossover operation takes place
Note: See TracChangeset for help on using the changeset viewer.