Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/24/21 10:13:04 (4 years ago)
Author:
chaider
Message:

#3073 Fixed check for scaling nodes in ConstraintsEvaluators

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/Evaluators/NMSEConstraintsEvaluator.cs

    r17906 r17914  
    132132      } else {
    133133        if (applyLinearScaling) {
    134           //Check for interval arithmetic grammar
    135           if (!(tree.Root.Grammar is IntervalArithmeticGrammar))
    136             throw new ArgumentException($"{ItemName} can only be used with IntervalArithmeticGrammar.");
    137 
    138134          var rootNode = new ProgramRootSymbol().CreateTreeNode();
    139135          var startNode = new StartSymbol().CreateTreeNode();
     
    141137                                .GetSubtree(0); //Offset
    142138          var scaling = offset.GetSubtree(0);
     139
     140          //Check if tree contains offset and scaling nodes
     141          if (!(offset.Symbol is Addition) || !(scaling.Symbol is Multiplication))
     142            throw new ArgumentException($"{ItemName} can only be used with IntervalArithmeticGrammar.");
     143
    143144          var t = (ISymbolicExpressionTreeNode)scaling.GetSubtree(0).Clone();
    144145          rootNode.AddSubtree(startNode);
Note: See TracChangeset for help on using the changeset viewer.