Changeset 14834 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/SwapExpressions.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/SwapExpressions.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 … … 10 12 /// <typeparam name="T">Stacktype</typeparam> 11 13 public abstract class SwapExpression<T> : StatelessExpression { 12 public bool Eval(I Stack<T> stack) {14 public bool Eval(IPushStack<T> stack) { 13 15 if (stack.Count < 2) 14 16 return false; … … 21 23 [PushExpression(StackTypes.Integer, "INTEGER.SWAP")] 22 24 public class IntegerSwapExpression : SwapExpression<long> { 23 public override bool Eval(I PushInterpreter interpreter) {25 public override bool Eval(IInternalPushInterpreter interpreter) { 24 26 return Eval(interpreter.IntegerStack); 25 27 } … … 28 30 [PushExpression(StackTypes.Float, "FLOAT.SWAP")] 29 31 public class FloatSwapExpression : SwapExpression<double> { 30 public override bool Eval(I PushInterpreter interpreter) {32 public override bool Eval(IInternalPushInterpreter interpreter) { 31 33 return Eval(interpreter.FloatStack); 32 34 } … … 35 37 [PushExpression(StackTypes.Boolean, "BOOLEAN.SWAP")] 36 38 public class BooleanSwapExpression : SwapExpression<bool> { 37 public override bool Eval(I PushInterpreter interpreter) {39 public override bool Eval(IInternalPushInterpreter interpreter) { 38 40 return Eval(interpreter.BooleanStack); 39 41 } … … 42 44 [PushExpression(StackTypes.Name, "NAME.SWAP")] 43 45 public class NameSwapExpression : SwapExpression<string> { 44 public override bool Eval(I PushInterpreter interpreter) {46 public override bool Eval(IInternalPushInterpreter interpreter) { 45 47 return Eval(interpreter.NameStack); 46 48 } … … 49 51 [PushExpression(StackTypes.Exec, "EXEC.SWAP")] 50 52 public class ExecSwapExpression : SwapExpression<Expression> { 51 public override bool Eval(I PushInterpreter interpreter) {53 public override bool Eval(IInternalPushInterpreter interpreter) { 52 54 return Eval(interpreter.ExecStack); 53 55 } … … 56 58 [PushExpression(StackTypes.Code, "CODE.SWAP")] 57 59 public class CodeSwapExpression : SwapExpression<Expression> { 58 public override bool Eval(I PushInterpreter interpreter) {60 public override bool Eval(IInternalPushInterpreter interpreter) { 59 61 return Eval(interpreter.CodeStack); 60 62 } … … 63 65 [PushExpression(StackTypes.Char, "CHAR.SWAP")] 64 66 public class CharSwapExpression : SwapExpression<char> { 65 public override bool Eval(I PushInterpreter interpreter) {67 public override bool Eval(IInternalPushInterpreter interpreter) { 66 68 return Eval(interpreter.CharStack); 67 69 } … … 70 72 [PushExpression(StackTypes.String, "STRING.SWAP")] 71 73 public class StringSwapExpression : SwapExpression<string> { 72 public override bool Eval(I PushInterpreter interpreter) {74 public override bool Eval(IInternalPushInterpreter interpreter) { 73 75 return Eval(interpreter.StringStack); 74 76 } 75 77 } 78 79 [PushExpression(StackTypes.IntegerVector, "INTEGER[].SWAP")] 80 public class IntegerVectorSwapExpression : SwapExpression<List<long>> { 81 public override bool Eval(IInternalPushInterpreter interpreter) { 82 return Eval(interpreter.IntegerVectorStack); 83 } 84 } 76 85 }
Note: See TracChangeset
for help on using the changeset viewer.