Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/18/17 01:15:25 (7 years ago)
Author:
pkimmesw
Message:

#2665 BenchmarkSuite, all examples, partially tested, VectorExpressions added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/EqualsExpressions.cs

    r14834 r14875  
    1515      if (stack.Count < 2) return false;
    1616
    17       var items = stack.Pop(2);
     17      var first = stack[1];
     18      var second = stack.Top;
     19      stack.Remove(2);
    1820
    19       booleanStack.Push(items[0].Equals(items[1]));
     21      booleanStack.Push(first.Equals(second));
    2022
    2123      return true;
     
    3537      if (interpreter.FloatStack.Count < 2) return false;
    3638
    37       var items = interpreter.FloatStack.Pop(2);
    38       interpreter.BooleanStack.Push(items[0].IsAlmost(items[1]));
     39      var first = interpreter.FloatStack[1];
     40      var second = interpreter.FloatStack.Top;
     41      interpreter.FloatStack.Remove(2);
     42
     43      interpreter.BooleanStack.Push(first.IsAlmost(second));
    3944      return true;
    4045    }
     
    8994    }
    9095  }
     96
     97  [PushExpression(StackTypes.FloatVector, "FLOAT[].=", StackTypes.Boolean)]
     98  public class FloatVectorEqualsExpression : EqualsExpression<List<double>> {
     99    public override bool Eval(IInternalPushInterpreter interpreter) {
     100      return Eval(interpreter.FloatVectorStack, interpreter.BooleanStack);
     101    }
     102  }
     103
     104  [PushExpression(StackTypes.BooleanVector, "BOOLEAN[].=", StackTypes.Boolean)]
     105  public class BooleanVectorEqualsExpression : EqualsExpression<List<bool>> {
     106    public override bool Eval(IInternalPushInterpreter interpreter) {
     107      return Eval(interpreter.BooleanVectorStack, interpreter.BooleanStack);
     108    }
     109  }
     110
     111  [PushExpression(StackTypes.StringVector, "STRING[].=", StackTypes.Boolean)]
     112  public class StringVectorEqualsExpression : EqualsExpression<List<string>> {
     113    public override bool Eval(IInternalPushInterpreter interpreter) {
     114      return Eval(interpreter.StringVectorStack, interpreter.BooleanStack);
     115    }
     116  }
    91117}
Note: See TracChangeset for help on using the changeset viewer.