Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/15/12 16:47:25 (11 years ago)
Author:
mkommend
Message:

#1763: merged changes from trunk into the tree simplifier branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Variable.cs

    r7259 r8915  
    101101    }
    102102
     103    private List<string> allVariableNames;
     104    [Storable]
     105    public IEnumerable<string> AllVariableNames {
     106      get { return allVariableNames; }
     107      set {
     108        if (value == null) throw new ArgumentNullException();
     109        allVariableNames.Clear();
     110        allVariableNames.AddRange(value);
     111        VariableNames = value;
     112      }
     113    }
     114
     115    public override bool Enabled {
     116      get {
     117        if (variableNames.Count == 0) return false;
     118        return base.Enabled;
     119      }
     120      set {
     121        if (variableNames.Count == 0) base.Enabled = false;
     122        else base.Enabled = value;
     123      }
     124    }
     125
    103126    private const int minimumArity = 0;
    104127    private const int maximumArity = 0;
     
    112135    #endregion
    113136
     137    [StorableHook(HookType.AfterDeserialization)]
     138    private void AfterDeserialization() {
     139      if (allVariableNames == null || (allVariableNames.Count == 0 && variableNames.Count > 0)) {
     140        allVariableNames = variableNames;
     141      }
     142    }
     143
    114144    [StorableConstructor]
    115145    protected Variable(bool deserializing)
    116146      : base(deserializing) {
    117147      variableNames = new List<string>();
     148      allVariableNames = new List<string>();
    118149    }
    119150    protected Variable(Variable original, Cloner cloner)
     
    122153      weightSigma = original.weightSigma;
    123154      variableNames = new List<string>(original.variableNames);
     155      allVariableNames = new List<string>(original.allVariableNames);
    124156      weightManipulatorMu = original.weightManipulatorMu;
    125157      weightManipulatorSigma = original.weightManipulatorSigma;
     
    135167      multiplicativeWeightManipulatorSigma = 0.03;
    136168      variableNames = new List<string>();
     169      allVariableNames = new List<string>();
    137170    }
    138171
Note: See TracChangeset for help on using the changeset viewer.