Changeset 14834 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/PopExpressions.cs
- Timestamp:
- 04/10/17 00:27:31 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/PopExpressions.cs
r14777 r14834 1 1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions { 2 using System.Collections.Generic; 3 2 4 using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes; 3 5 … … 6 8 7 9 public abstract class PopExpression<T> : StatelessExpression { 8 public bool Eval(I Stack<T> stack) {10 public bool Eval(IPushStack<T> stack) { 9 11 if (stack.Count == 0) return false; 10 12 … … 16 18 [PushExpression(StackTypes.Integer, "INTEGER.POP")] 17 19 public class IntegerPopExpression : PopExpression<long> { 18 public override bool Eval(I PushInterpreter interpreter) {20 public override bool Eval(IInternalPushInterpreter interpreter) { 19 21 return Eval(interpreter.IntegerStack); 20 22 } … … 23 25 [PushExpression(StackTypes.Float, "FLOAT.POP")] 24 26 public class FloatPopExpression : PopExpression<double> { 25 public override bool Eval(I PushInterpreter interpreter) {27 public override bool Eval(IInternalPushInterpreter interpreter) { 26 28 return Eval(interpreter.FloatStack); 27 29 } … … 30 32 [PushExpression(StackTypes.Boolean, "BOOLEAN.POP")] 31 33 public class BooleanPopExpression : PopExpression<bool> { 32 public override bool Eval(I PushInterpreter interpreter) {34 public override bool Eval(IInternalPushInterpreter interpreter) { 33 35 return Eval(interpreter.BooleanStack); 34 36 } … … 37 39 [PushExpression(StackTypes.Name, "NAME.POP")] 38 40 public class NamePopExpression : PopExpression<string> { 39 public override bool Eval(I PushInterpreter interpreter) {41 public override bool Eval(IInternalPushInterpreter interpreter) { 40 42 return Eval(interpreter.NameStack); 41 43 } … … 44 46 [PushExpression(StackTypes.Exec, "EXEC.POP")] 45 47 public class ExecPopExpression : PopExpression<Expression> { 46 public override bool Eval(I PushInterpreter interpreter) {48 public override bool Eval(IInternalPushInterpreter interpreter) { 47 49 return Eval(interpreter.ExecStack); 48 50 } … … 51 53 [PushExpression(StackTypes.Code, "CODE.POP")] 52 54 public class CodePopExpression : PopExpression<Expression> { 53 public override bool Eval(I PushInterpreter interpreter) {55 public override bool Eval(IInternalPushInterpreter interpreter) { 54 56 return Eval(interpreter.CodeStack); 55 57 } … … 58 60 [PushExpression(StackTypes.Char, "CHAR.POP")] 59 61 public class CharPopExpression : PopExpression<char> { 60 public override bool Eval(I PushInterpreter interpreter) {62 public override bool Eval(IInternalPushInterpreter interpreter) { 61 63 return Eval(interpreter.CharStack); 62 64 } … … 65 67 [PushExpression(StackTypes.String, "STRING.POP")] 66 68 public class StringPopExpression : PopExpression<string> { 67 public override bool Eval(I PushInterpreter interpreter) {69 public override bool Eval(IInternalPushInterpreter interpreter) { 68 70 return Eval(interpreter.StringStack); 69 71 } 70 72 } 73 74 [PushExpression(StackTypes.IntegerVector, "INTEGER[].POP")] 75 public class IntegerVectorPopExpression : PopExpression<List<long>> { 76 public override bool Eval(IInternalPushInterpreter interpreter) { 77 return Eval(interpreter.IntegerVectorStack); 78 } 79 } 71 80 }
Note: See TracChangeset
for help on using the changeset viewer.