Changeset 15017 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorContainsExpressions.cs
- Timestamp:
- 06/01/17 09:28:34 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/VectorContainsExpressions.cs
r14952 r15017 2 2 3 3 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions { 4 using System.Linq; 5 4 6 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 5 7 using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes; … … 17 19 protected VectorContainsExpression(bool deserializing) : base(deserializing) { } 18 20 19 protected bool IsNoop(IPushStack< List<T>> vectorStack, IPushStack<T> literalStack) {21 protected bool IsNoop(IPushStack<IReadOnlyList<T>> vectorStack, IPushStack<T> literalStack) { 20 22 return vectorStack.IsEmpty || literalStack.IsEmpty; 21 23 } 22 24 23 protected void Eval(IInternalPushInterpreter interpreter, IPushStack< List<T>> vectorStack, IPushStack<T> literalStack, bool canOverride = false) {25 protected void Eval(IInternalPushInterpreter interpreter, IPushStack<IReadOnlyList<T>> vectorStack, IPushStack<T> literalStack, bool canOverride = false) { 24 26 var vector = vectorStack.Pop(); 25 27 var literal = canOverride ? literalStack.Top : literalStack.Pop(); 26 28 var contains = vector.Contains(literal); 27 29 28 if (canOverride) interpreter.BooleanStack. SetTop(contains);30 if (canOverride) interpreter.BooleanStack.Top = contains; 29 31 else interpreter.BooleanStack.Push(contains); 30 32 }
Note: See TracChangeset
for help on using the changeset viewer.