Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/17/15 16:21:29 (8 years ago)
Author:
bburlacu
Message:

#2442: Removed unused code, fixed formatting, fixed bug in AfterDeserializationHook.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.LinqExpressionTreeInterpreter/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeLinearInterpreter.cs

    r13141 r13222  
    3535  public sealed class SymbolicDataAnalysisExpressionTreeLinearInterpreter : ParameterizedNamedItem, ISymbolicDataAnalysisExpressionTreeInterpreter {
    3636    private const string CheckExpressionsWithIntervalArithmeticParameterName = "CheckExpressionsWithIntervalArithmetic";
     37    private const string CheckExpressionsWithIntervalArithmeticParameterDescription = "Switch that determines if the interpreter checks the validity of expressions with interval arithmetic before evaluating the expression.";
    3738    private const string EvaluatedSolutionsParameterName = "EvaluatedSolutions";
    3839
     
    8485    public SymbolicDataAnalysisExpressionTreeLinearInterpreter()
    8586      : base("SymbolicDataAnalysisExpressionTreeLinearInterpreter", "Linear (non-recursive) interpreter for symbolic expression trees (does not support ADFs).") {
    86       Parameters.Add(new FixedValueParameter<BoolValue>(CheckExpressionsWithIntervalArithmeticParameterName,
    87         "Switch that determines if the interpreter checks the validity of expressions with interval arithmetic before evaluating the expression.", new BoolValue(false)));
     87      Parameters.Add(new FixedValueParameter<BoolValue>(CheckExpressionsWithIntervalArithmeticParameterName, CheckExpressionsWithIntervalArithmeticParameterDescription, new BoolValue(false)));
    8888      Parameters.Add(new FixedValueParameter<IntValue>(EvaluatedSolutionsParameterName, "A counter for the total number of solutions the interpreter has evaluated", new IntValue(0)));
    8989      interpreter = new SymbolicDataAnalysisExpressionTreeInterpreter();
     
    9292    public SymbolicDataAnalysisExpressionTreeLinearInterpreter(string name, string description)
    9393      : base(name, description) {
    94       Parameters.Add(new FixedValueParameter<BoolValue>(CheckExpressionsWithIntervalArithmeticParameterName,
    95         "Switch that determines if the interpreter checks the validity of expressions with interval arithmetic before evaluating the expression.", new BoolValue(false)));
     94      Parameters.Add(new FixedValueParameter<BoolValue>(CheckExpressionsWithIntervalArithmeticParameterName, CheckExpressionsWithIntervalArithmeticParameterDescription, new BoolValue(false)));
    9695      Parameters.Add(new FixedValueParameter<IntValue>(EvaluatedSolutionsParameterName, "A counter for the total number of solutions the interpreter has evaluated", new IntValue(0)));
    9796      interpreter = new SymbolicDataAnalysisExpressionTreeInterpreter();
     
    10099    [StorableHook(HookType.AfterDeserialization)]
    101100    private void AfterDeserialization() {
    102       if (interpreter == null) interpreter = new SymbolicDataAnalysisExpressionTreeInterpreter();
    103       Parameters.Remove(EvaluatedSolutionsParameterName);
    104       Parameters.Add(new FixedValueParameter<IntValue>(EvaluatedSolutionsParameterName, "A counter for the total number of solutions the interpreter has evaluated", new IntValue(0)));
    105 
    106       Parameters.Remove(CheckExpressionsWithIntervalArithmeticParameterName);
    107       Parameters.Add(new FixedValueParameter<BoolValue>(CheckExpressionsWithIntervalArithmeticParameterName,
    108         "Switch that determines if the interpreter checks the validity of expressions with interval arithmetic before evaluating the expression.", new BoolValue(false)));
     101      var evaluatedSolutions = new IntValue(0);
     102      var checkExpressionsWithIntervalArithmetic = new BoolValue(false);
     103      if (Parameters.ContainsKey(EvaluatedSolutionsParameterName)) {
     104        var evaluatedSolutionsParameter = (IValueParameter<IntValue>)Parameters[EvaluatedSolutionsParameterName];
     105        evaluatedSolutions = evaluatedSolutionsParameter.Value;
     106        Parameters.Remove(EvaluatedSolutionsParameterName);
     107      }
     108      Parameters.Add(new FixedValueParameter<IntValue>(EvaluatedSolutionsParameterName, "A counter for the total number of solutions the interpreter has evaluated", evaluatedSolutions));
     109      if (Parameters.ContainsKey(CheckExpressionsWithIntervalArithmeticParameterName)) {
     110        var checkExpressionsWithIntervalArithmeticParameter = (IValueParameter<BoolValue>)Parameters[CheckExpressionsWithIntervalArithmeticParameterName];
     111        Parameters.Remove(CheckExpressionsWithIntervalArithmeticParameterName);
     112        checkExpressionsWithIntervalArithmetic = checkExpressionsWithIntervalArithmeticParameter.Value;
     113      }
     114      Parameters.Add(new FixedValueParameter<BoolValue>(CheckExpressionsWithIntervalArithmeticParameterName, CheckExpressionsWithIntervalArithmeticParameterDescription, checkExpressionsWithIntervalArithmetic));
    109115    }
    110116
     
    372378        #region opcode switch
    373379        switch (instr.opCode) {
    374           case OpCodes.Constant:
    375             {
     380          case OpCodes.Constant: {
    376381              var constTreeNode = (ConstantTreeNode)instr.dynamicNode;
    377382              instr.value = constTreeNode.Value;
     
    379384            }
    380385            break;
    381           case OpCodes.Variable:
    382             {
     386          case OpCodes.Variable: {
    383387              var variableTreeNode = (VariableTreeNode)instr.dynamicNode;
    384388              instr.data = dataset.GetReadOnlyDoubleValues(variableTreeNode.VariableName);
    385389            }
    386390            break;
    387           case OpCodes.LagVariable:
    388             {
     391          case OpCodes.LagVariable: {
    389392              var laggedVariableTreeNode = (LaggedVariableTreeNode)instr.dynamicNode;
    390393              instr.data = dataset.GetReadOnlyDoubleValues(laggedVariableTreeNode.VariableName);
    391394            }
    392395            break;
    393           case OpCodes.VariableCondition:
    394             {
     396          case OpCodes.VariableCondition: {
    395397              var variableConditionTreeNode = (VariableConditionTreeNode)instr.dynamicNode;
    396398              instr.data = dataset.GetReadOnlyDoubleValues(variableConditionTreeNode.VariableName);
     
    399401          case OpCodes.TimeLag:
    400402          case OpCodes.Integral:
    401           case OpCodes.Derivative:
    402             {
     403          case OpCodes.Derivative: {
    403404              var seq = GetPrefixSequence(code, i);
    404405              var interpreterState = new InterpreterState(seq, 0);
Note: See TracChangeset for help on using the changeset viewer.