Changeset 16360


Ignore:
Timestamp:
12/11/18 10:16:56 (7 months ago)
Author:
gkronber
Message:

#2915 renamed class AnalyticalQuotient -> AnalyticQuotient

Location:
trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/TreeSimplifier.cs

    r16356 r16360  
    4343    private static readonly Square sqrSymbol = new Square();
    4444    private static readonly SquareRoot sqrtSymbol = new SquareRoot();
    45     private static readonly AnalyticalQuotient aqSymbol = new AnalyticalQuotient();
     45    private static readonly AnalyticQuotient aqSymbol = new AnalyticQuotient();
    4646    private static readonly Cube cubeSymbol = new Cube();
    4747    private static readonly CubeRoot cubeRootSymbol = new CubeRoot();
     
    186186
    187187    private static bool IsAnalyticalQuotient(ISymbolicExpressionTreeNode node) {
    188       return node.Symbol is AnalyticalQuotient;
     188      return node.Symbol is AnalyticQuotient;
    189189    }
    190190
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Converters/TreeToAutoDiffTermConverter.cs

    r16356 r16360  
    222222        return abs(x1);
    223223      }
    224       if (node.Symbol is AnalyticalQuotient) {
     224      if (node.Symbol is AnalyticQuotient) {
    225225        var x1 = ConvertToAutoDiff(node.GetSubtree(0));
    226226        var x2 = ConvertToAutoDiff(node.GetSubtree(1));
     
    325325          !(n.Symbol is StartSymbol) &&
    326326          !(n.Symbol is Absolute) &&
    327           !(n.Symbol is AnalyticalQuotient) &&
     327          !(n.Symbol is AnalyticQuotient) &&
    328328          !(n.Symbol is Cube) &&
    329329          !(n.Symbol is CubeRoot)
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/FullFunctionalExpressionGrammar.cs

    r16356 r16360  
    4848      var mul = new Multiplication();
    4949      var div = new Division();
    50       var aq = new AnalyticalQuotient();
     50      var aq = new AnalyticQuotient();
    5151      var mean = new Average();
    5252      var sin = new Sine();
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/TypeCoherentExpressionGrammar.cs

    r16356 r16360  
    8989      var psi = new Psi();
    9090      var sineIntegral = new SineIntegral();
    91       var analyticalQuotient = new AnalyticalQuotient();
     91      var analyticalQuotient = new AnalyticQuotient();
    9292
    9393      var @if = new IfThenElse();
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Importer/InfixExpressionParser.cs

    r16359 r16360  
    126126        { "DAWSON", new Dawson()},
    127127        { "EXPINT", new ExponentialIntegralEi()},
    128         { "AQ", new AnalyticalQuotient() },
     128        { "AQ", new AnalyticQuotient() },
    129129        { "MEAN", new Average()},
    130130        { "IF", new IfThenElse()},
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Importer/SymbolicExpressionImporter.cs

    r16356 r16360  
    6868        {"DAWSON", new Dawson()},
    6969        {"EXPINT", new ExponentialIntegralEi()},
    70         {"AQ", new AnalyticalQuotient() },
     70        {"AQ", new AnalyticQuotient() },
    7171        {"MEAN", new Average()},
    7272        {"IF", new IfThenElse()},
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/OpCodes.cs

    r16356 r16360  
    8686    public const byte BinaryFactorVariable = 47;
    8787    public const byte Absolute = 48;
    88     public const byte AnalyticalQuotient = 49;
     88    public const byte AnalyticQuotient = 49;
    8989    public const byte Cube = 50;
    9090    public const byte CubeRoot = 51;
     
    141141      { typeof(BinaryFactorVariable), OpCodes.BinaryFactorVariable },
    142142      { typeof(Absolute), OpCodes.Absolute },
    143       { typeof(AnalyticalQuotient), OpCodes.AnalyticalQuotient },
     143      { typeof(AnalyticQuotient), OpCodes.AnalyticQuotient },
    144144      { typeof(Cube), OpCodes.Cube },
    145145      { typeof(CubeRoot), OpCodes.CubeRoot }
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionCompiledTreeInterpreter.cs

    r16356 r16360  
    507507              result);
    508508          }
    509         case OpCodes.AnalyticalQuotient: {
     509        case OpCodes.AnalyticQuotient: {
    510510            var x1 = MakeExpr(node.GetSubtree(0), variableIndices, row, columns);
    511511            var x2 = MakeExpr(node.GetSubtree(1), variableIndices, row, columns);
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeBatchInterpreter.cs

    r16356 r16360  
    166166            }
    167167
    168           case OpCodes.AnalyticalQuotient: {
     168          case OpCodes.AnalyticQuotient: {
    169169              Load(instr.buf, code[c].buf);
    170170              AnalyticQuotient(instr.buf, code[c + 1].buf);
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeILEmittingInterpreter.cs

    r16356 r16360  
    409409            return;
    410410          }
    411         case OpCodes.AnalyticalQuotient: {
     411        case OpCodes.AnalyticQuotient: {
    412412            CompileInstructions(il, state, ds); // x1
    413413            CompileInstructions(il, state, ds); // x2
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeInterpreter.cs

    r16356 r16360  
    351351          }
    352352
    353         case OpCodes.AnalyticalQuotient: {
     353        case OpCodes.AnalyticQuotient: {
    354354            var x1 = Evaluate(dataset, ref row, state);
    355355            var x2 = Evaluate(dataset, ref row, state);
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeLinearInterpreter.cs

    r16356 r16360  
    215215          if (instr.nArguments == 1) p = 1.0 / p;
    216216          instr.value = p;
    217         } else if (instr.opCode == OpCodes.AnalyticalQuotient) {
     217        } else if (instr.opCode == OpCodes.AnalyticQuotient) {
    218218          var x1 = code[instr.childIndex].value;
    219219          var x2 = code[instr.childIndex + 1].value;
  • trunk/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/AnalyticalQuotient.cs

    r16356 r16360  
    2626namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
    2727  [StorableClass]
    28   [Item("Analytical Quotient", "TODO")]
    29   public sealed class AnalyticalQuotient : Symbol {
     28  [Item("Analytic Quotient", "The analytic quotient function aq(a,b) = a / sqrt(b²+1) can be used as an " +
     29    "alternative to protected division. See H. Drieberg and P. Rocket, The Use of an Analytic Quotient Operator" +
     30    " in Genetic Programming. IEEE Transactions on Evolutionary Computation, Vol. 17, No. 1, February 2013, pp 146 -- 152")]
     31  public sealed class AnalyticQuotient : Symbol {
    3032    private const int minimumArity = 2;
    3133    private const int maximumArity = 2;
     
    3941
    4042    [StorableConstructor]
    41     private AnalyticalQuotient(bool deserializing) : base(deserializing) { }
    42     private AnalyticalQuotient(AnalyticalQuotient original, Cloner cloner) : base(original, cloner) { }
     43    private AnalyticQuotient(bool deserializing) : base(deserializing) { }
     44    private AnalyticQuotient(AnalyticQuotient original, Cloner cloner) : base(original, cloner) { }
    4345    public override IDeepCloneable Clone(Cloner cloner) {
    44       return new AnalyticalQuotient(this, cloner);
     46      return new AnalyticQuotient(this, cloner);
    4547    }
    46     public AnalyticalQuotient() : base("AnalyticalQuotient", "TODO") { }
     48    public AnalyticQuotient() : base("AnalyticalQuotient", "The analytic quotient function aq(a,b) = a / sqrt(b²+1) can be used as an " +
     49    "alternative to protected division. See H. Drieberg and P. Rocket, The Use of an Analytic Quotient Operator" +
     50    " in Genetic Programming. IEEE Transactions on Evolutionary Computation, Vol. 17, No. 1, February 2013, pp 146 -- 152") { }
    4751  }
    4852}
Note: See TracChangeset for help on using the changeset viewer.