Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/28/21 13:37:43 (3 years ago)
Author:
pfleck
Message:

#3040 Added a subvector symbol with ranges as subtrees.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/TypeCoherentVectorExpressionGrammar.cs

    r17752 r18060  
    5050
    5151    private const string VectorManipulationSymbolsName = "Vector Manipulation Symbols";
     52    private const string VectorSubVectorSymbolsName = "Vector SubVector Symbols";
    5253
    5354    private const string RealValuedSymbolsName = "Real Valued Symbols";
     
    127128
    128129      #region vector manipulation symbol declaration
    129       var subvector = new SubVector() { EnableWindowing = true };
     130      var subvectorLocal = new SubVector();
     131      var subvectorSubtree = new SubVectorSubtree();
    130132      #endregion
    131133
     
    148150      var vectorSymbols = new GroupSymbol(VectorSymbolsName, new List<ISymbol>() { vectorarithmeticSymbols, vectortrigonometricSymbols, vectorexponentialAndLogarithmicSymbols, vectorpowerSymbols, vectorterminalSymbols });
    149151
    150       var vectorManipulationSymbols = new GroupSymbol(VectorManipulationSymbolsName, new List<ISymbol>() { subvector });
     152      var vectorSubVectorSymbols = new GroupSymbol(VectorSubVectorSymbolsName, new List<ISymbol>() { subvectorLocal, subvectorSubtree });
     153      var vectorManipulationSymbols = new GroupSymbol(VectorManipulationSymbolsName, new List<ISymbol>() { vectorSubVectorSymbols });
     154     
    151155
    152156      //var realValuedSymbols = new GroupSymbol(RealValuedSymbolsName, new List<ISymbol> { scalarSymbols, vectorSymbols });
     
    185189      SetSubtreeCount(vectorterminalSymbols, 0, 0);
    186190
    187       SetSubtreeCount(subvector, 1, 1);
     191      SetSubtreeCount(subvectorLocal, 1, 1);
     192      SetSubtreeCount(subvectorSubtree, 3, 3);
    188193      #endregion
    189194
     
    198203      AddAllowedChildSymbol(root, constant, 1);
    199204      AddAllowedChildSymbol(aggregationSymbols, vectorSymbols);
    200       AddAllowedChildSymbol(statisticsSymbols, subvector);
     205      AddAllowedChildSymbol(statisticsSymbols, vectorSubVectorSymbols);
    201206
    202207      AddAllowedChildSymbol(vectorarithmeticSymbols, vectorSymbols);
     
    208213      AddAllowedChildSymbol(vectorroot, constant, 1);
    209214
    210       AddAllowedChildSymbol(subvector, vectorSymbols);
     215      AddAllowedChildSymbol(subvectorLocal, vectorSymbols);
     216      AddAllowedChildSymbol(subvectorSubtree, vectorSymbols, 0);
     217      AddAllowedChildSymbol(subvectorSubtree, scalarSymbols, 1);
     218      AddAllowedChildSymbol(subvectorSubtree, scalarSymbols, 2);
    211219      #endregion
    212220
Note: See TracChangeset for help on using the changeset viewer.