Changeset 14744 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/RotateExpressions.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/RotateExpressions.cs
r14733 r14744 6 6 7 7 public abstract class RotateExpression<T> : StatelessExpression { 8 public voidEval(IStack<T> stack) {9 if (stack.Count < 3) return ;8 public bool Eval(IStack<T> stack) { 9 if (stack.Count < 3) return false; 10 10 11 11 stack.Swap(3); 12 return true; 12 13 } 13 14 } … … 16 17 [PushExpression(StackType.Integer, "INTEGER.ROT")] 17 18 public class IntegerRotateExpression : RotateExpression<long> { 18 public override voidEval(IPushInterpreter interpreter) {19 Eval(interpreter.IntegerStack);19 public override bool Eval(IPushInterpreter interpreter) { 20 return Eval(interpreter.IntegerStack); 20 21 } 21 22 } … … 23 24 [PushExpression(StackType.Float, "FLOAT.ROT")] 24 25 public class FloatRotateExpression : RotateExpression<double> { 25 public override voidEval(IPushInterpreter interpreter) {26 Eval(interpreter.FloatStack);26 public override bool Eval(IPushInterpreter interpreter) { 27 return Eval(interpreter.FloatStack); 27 28 } 28 29 } … … 30 31 [PushExpression(StackType.Boolean, "BOOLEAN.ROT")] 31 32 public class BooleanRotateExpression : RotateExpression<bool> { 32 public override voidEval(IPushInterpreter interpreter) {33 Eval(interpreter.BooleanStack);33 public override bool Eval(IPushInterpreter interpreter) { 34 return Eval(interpreter.BooleanStack); 34 35 } 35 36 } … … 37 38 [PushExpression(StackType.Name, "NAME.ROT")] 38 39 public class NameRotateExpression : RotateExpression<string> { 39 public override voidEval(IPushInterpreter interpreter) {40 Eval(interpreter.NameStack);40 public override bool Eval(IPushInterpreter interpreter) { 41 return Eval(interpreter.NameStack); 41 42 } 42 43 } … … 44 45 [PushExpression(StackType.Exec, "EXEC.ROT")] 45 46 public class ExecRotateExpression : RotateExpression<Expression> { 46 public override voidEval(IPushInterpreter interpreter) {47 Eval(interpreter.ExecStack);47 public override bool Eval(IPushInterpreter interpreter) { 48 return Eval(interpreter.ExecStack); 48 49 } 49 50 } … … 51 52 [PushExpression(StackType.Code, "CODE.ROT")] 52 53 public class CodeRotateExpression : RotateExpression<Expression> { 53 public override voidEval(IPushInterpreter interpreter) {54 Eval(interpreter.CodeStack);54 public override bool Eval(IPushInterpreter interpreter) { 55 return Eval(interpreter.CodeStack); 55 56 } 56 57 }
Note: See TracChangeset
for help on using the changeset viewer.