Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/03/12 00:32:03 (12 years ago)
Author:
gkronber
Message:

#1810 merged patch to add square and square root function symbols by mkommend

Location:
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/FullFunctionalExpressionGrammar.cs

    r7259 r7695  
    5555      var pow = new Power();
    5656      pow.InitialFrequency = 0.0;
     57      var square = new Square();
     58      square.InitialFrequency = 0.0;
    5759      var root = new Root();
    5860      root.InitialFrequency = 0.0;
     61      var sqrt = new SquareRoot();
     62      sqrt.InitialFrequency = 0.0;
    5963      var exp = new Exponential();
    6064      var @if = new IfThenElse();
     
    8286      laggedVariable.InitialFrequency = 0.0;
    8387
    84       var allSymbols = new List<Symbol>() { add, sub, mul, div, mean, sin, cos, tan, log, pow, root, exp, @if, gt, lt, and, or, not, timeLag, integral, derivative, constant, variableSymbol, laggedVariable, variableCondition };
    85       var unaryFunctionSymbols = new List<Symbol>() { sin, cos, tan, log, exp, not, timeLag, integral, derivative };
     88      var allSymbols = new List<Symbol>() { add, sub, mul, div, mean, sin, cos, tan, log, square, pow, sqrt, root, exp, @if, gt, lt, and, or, not, timeLag, integral, derivative, constant, variableSymbol, laggedVariable, variableCondition };
     89      var unaryFunctionSymbols = new List<Symbol>() { square, sqrt, sin, cos, tan, log, exp, not, timeLag, integral, derivative };
    8690
    8791      var binaryFunctionSymbols = new List<Symbol>() { pow, root, gt, lt, variableCondition };
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/TypeCoherentExpressionGrammar.cs

    r7259 r7695  
    6565      var log = new Logarithm();
    6666      var pow = new Power();
     67      var square = new Square();
    6768      var root = new Root();
     69      var sqrt = new SquareRoot();
    6870      var exp = new Exponential();
    6971      var @if = new IfThenElse();
     
    9395      var realValuedSymbols = new GroupSymbol(RealValuedSymbolsName, new List<ISymbol>() { arithmeticSymbols, trigonometricSymbols, exponentialAndLogarithmicSymbols, terminalSymbols });
    9496
    95       var powerSymbols = new GroupSymbol(PowerFunctionsName, new List<ISymbol> { pow, root });
     97      var powerSymbols = new GroupSymbol(PowerFunctionsName, new List<ISymbol> { square, pow, sqrt, root });
    9698
    9799      var conditionSymbols = new GroupSymbol(ConditionsName, new List<ISymbol> { @if, variableCondition });
     
    111113      SetSubtreeCount(arithmeticSymbols, 2, 2);
    112114      SetSubtreeCount(trigonometricSymbols, 1, 1);
    113       SetSubtreeCount(powerSymbols, 2, 2);
     115      SetSubtreeCount(pow, 2, 2);
     116      SetSubtreeCount(root, 2, 2);
     117      SetSubtreeCount(square, 1, 1);
     118      SetSubtreeCount(sqrt, 1, 1);
    114119      SetSubtreeCount(exponentialAndLogarithmicSymbols, 1, 1);
    115120      SetSubtreeCount(terminalSymbols, 0, 0);
     
    140145      AddAllowedChildSymbol(powerSymbols, laggedVariable, 0);
    141146      AddAllowedChildSymbol(powerSymbols, constant, 1);
     147      AddAllowedChildSymbol(square, realValuedSymbols, 0);
     148      AddAllowedChildSymbol(sqrt, realValuedSymbols, 0);
    142149
    143150      AddAllowedChildSymbol(@if, comparisonSymbols, 0);
Note: See TracChangeset for help on using the changeset viewer.