Changeset 14875 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/EqualsExpressions.cs
- Timestamp:
- 04/18/17 01:15:25 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/EqualsExpressions.cs
r14834 r14875 15 15 if (stack.Count < 2) return false; 16 16 17 var items = stack.Pop(2); 17 var first = stack[1]; 18 var second = stack.Top; 19 stack.Remove(2); 18 20 19 booleanStack.Push( items[0].Equals(items[1]));21 booleanStack.Push(first.Equals(second)); 20 22 21 23 return true; … … 35 37 if (interpreter.FloatStack.Count < 2) return false; 36 38 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)); 39 44 return true; 40 45 } … … 89 94 } 90 95 } 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 } 91 117 }
Note: See TracChangeset
for help on using the changeset viewer.