Changeset 14744 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/SwapExpressions.cs
- Timestamp:
- 03/10/17 21:42:09 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/SwapExpressions.cs
r14733 r14744 10 10 /// <typeparam name="T">Stacktype</typeparam> 11 11 public abstract class SwapExpression<T> : StatelessExpression { 12 public voidEval(IStack<T> stack) {12 public bool Eval(IStack<T> stack) { 13 13 if (stack.Count < 2) 14 return ;14 return false; 15 15 16 16 stack.Swap(2); 17 return true; 17 18 } 18 19 } … … 20 21 [PushExpression(StackType.Integer, "INTEGER.SWAP")] 21 22 public class IntegerSwapExpression : SwapExpression<long> { 22 public override voidEval(IPushInterpreter interpreter) {23 Eval(interpreter.IntegerStack);23 public override bool Eval(IPushInterpreter interpreter) { 24 return Eval(interpreter.IntegerStack); 24 25 } 25 26 } … … 27 28 [PushExpression(StackType.Float, "FLOAT.SWAP")] 28 29 public class FloatSwapExpression : SwapExpression<double> { 29 public override voidEval(IPushInterpreter interpreter) {30 Eval(interpreter.FloatStack);30 public override bool Eval(IPushInterpreter interpreter) { 31 return Eval(interpreter.FloatStack); 31 32 } 32 33 } … … 34 35 [PushExpression(StackType.Boolean, "BOOLEAN.SWAP")] 35 36 public class BooleanSwapExpression : SwapExpression<bool> { 36 public override voidEval(IPushInterpreter interpreter) {37 Eval(interpreter.BooleanStack);37 public override bool Eval(IPushInterpreter interpreter) { 38 return Eval(interpreter.BooleanStack); 38 39 } 39 40 } … … 41 42 [PushExpression(StackType.Name, "NAME.SWAP")] 42 43 public class NameSwapExpression : SwapExpression<string> { 43 public override voidEval(IPushInterpreter interpreter) {44 Eval(interpreter.NameStack);44 public override bool Eval(IPushInterpreter interpreter) { 45 return Eval(interpreter.NameStack); 45 46 } 46 47 } … … 48 49 [PushExpression(StackType.Exec, "EXEC.SWAP")] 49 50 public class ExecSwapExpression : SwapExpression<Expression> { 50 public override voidEval(IPushInterpreter interpreter) {51 Eval(interpreter.ExecStack);51 public override bool Eval(IPushInterpreter interpreter) { 52 return Eval(interpreter.ExecStack); 52 53 } 53 54 } … … 55 56 [PushExpression(StackType.Code, "CODE.SWAP")] 56 57 public class CodeSwapExpression : SwapExpression<Expression> { 57 public override voidEval(IPushInterpreter interpreter) {58 Eval(interpreter.CodeStack);58 public override bool Eval(IPushInterpreter interpreter) { 59 return Eval(interpreter.CodeStack); 59 60 } 60 61 }
Note: See TracChangeset
for help on using the changeset viewer.