Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/01/17 09:28:34 (7 years ago)
Author:
pkimmesw
Message:

#2665 Fixed Benchmark Problem Definition, Converted LoopExpressions to stateless expressions, Added several unit test to ensure funcionality, Fixed UI bugs

File:
1 edited

Legend:

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

    r14952 r15017  
    11namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions {
    22  using System.Collections.Generic;
     3  using System.Linq;
     4
    35  using Attributes;
    46
     
    2325      stack.Remove(2);
    2426
    25       booleanStack.Push(first.Equals(second));
     27      var equal = first.Equals(second);
     28      booleanStack.Push(equal);
     29    }
     30
     31    protected void Eval(IPushStack<IReadOnlyList<T>> vectorStack, IPushStack<bool> booleanStack) {
     32      var first = vectorStack[1];
     33      var second = vectorStack[0];
     34      vectorStack.Remove(2);
     35
     36      var equal = first.SequenceEqual(second);
     37      booleanStack.Push(equal);
    2638    }
    2739  }
     
    92104
    93105  [StorableClass]
    94   [PushExpression(StackTypes.Exec, "EXEC.=", StackTypes.Boolean)]
     106  [PushExpression(StackTypes.Exec, "EXEC.=", StackTypes.Boolean, execIn: 0)]
    95107  public class ExecEqualsExpression : EqualsExpression<Expression> {
    96108    public ExecEqualsExpression() { }
     
    157169  [StorableClass]
    158170  [PushExpression(StackTypes.IntegerVector, "INTEGER[].=", StackTypes.Boolean)]
    159   public class IntegerVectorEqualsExpression : EqualsExpression<List<long>> {
     171  public class IntegerVectorEqualsExpression : EqualsExpression<long> {
    160172    public IntegerVectorEqualsExpression() { }
    161173    [StorableConstructor]
     
    173185  [StorableClass]
    174186  [PushExpression(StackTypes.FloatVector, "FLOAT[].=", StackTypes.Boolean)]
    175   public class FloatVectorEqualsExpression : EqualsExpression<List<double>> {
     187  public class FloatVectorEqualsExpression : EqualsExpression<double> {
    176188    public FloatVectorEqualsExpression() { }
    177189    [StorableConstructor]
     
    189201  [StorableClass]
    190202  [PushExpression(StackTypes.BooleanVector, "BOOLEAN[].=", StackTypes.Boolean)]
    191   public class BooleanVectorEqualsExpression : EqualsExpression<List<bool>> {
     203  public class BooleanVectorEqualsExpression : EqualsExpression<bool> {
    192204    public BooleanVectorEqualsExpression() { }
    193205    [StorableConstructor]
     
    205217  [StorableClass]
    206218  [PushExpression(StackTypes.StringVector, "STRING[].=", StackTypes.Boolean)]
    207   public class StringVectorEqualsExpression : EqualsExpression<List<string>> {
     219  public class StringVectorEqualsExpression : EqualsExpression<string> {
    208220    public StringVectorEqualsExpression() { }
    209221    [StorableConstructor]
Note: See TracChangeset for help on using the changeset viewer.