Changeset 14744 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/IntegerExpressions.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/IntegerExpressions.cs
r14733 r14744 12 12 [PushExpression(StackType.Integer, "INTEGER.+")] 13 13 public class IntegerAddExpression : PushResultExpression<long> { 14 public override voidEval(IPushInterpreter interpreter) {15 this.Eval(interpreter.IntegerStack, 2, values => values[0] + values[1]);14 public override bool Eval(IPushInterpreter interpreter) { 15 return Eval(interpreter.IntegerStack, 2, values => values[0] + values[1]); 16 16 } 17 17 } … … 22 22 [PushExpression(StackType.Integer, "INTEGER.-")] 23 23 public class IntegerSubtractExpression : PushResultExpression<long> { 24 public override voidEval(IPushInterpreter interpreter) {25 this.Eval(interpreter.IntegerStack, 2, values => values[0] - values[1]);24 public override bool Eval(IPushInterpreter interpreter) { 25 return Eval(interpreter.IntegerStack, 2, values => values[0] - values[1]); 26 26 } 27 27 } … … 32 32 [PushExpression(StackType.Integer, "INTEGER.*")] 33 33 public class IntegerMultiplyExpression : PushResultExpression<long> { 34 public override voidEval(IPushInterpreter interpreter) {35 this.Eval(interpreter.IntegerStack, 2, values => values[0] * values[1]);34 public override bool Eval(IPushInterpreter interpreter) { 35 return Eval(interpreter.IntegerStack, 2, values => values[0] * values[1]); 36 36 } 37 37 } … … 43 43 [PushExpression(StackType.Integer, "INTEGER./")] 44 44 public class IntegerDivideExpression : PushResultExpression<long> { 45 public override voidEval(IPushInterpreter interpreter) {46 this.Eval(interpreter.IntegerStack, 2, values => values[0] / values[1], 0);45 public override bool Eval(IPushInterpreter interpreter) { 46 return Eval(interpreter.IntegerStack, 2, values => values[0] / values[1], 0); 47 47 } 48 48 } … … 58 58 [PushExpression(StackType.Integer, "INTEGER.%")] 59 59 public class IntegerModuloExpression : PushResultExpression<long> { 60 public override voidEval(IPushInterpreter interpreter) {61 this.Eval(interpreter.IntegerStack, 2, values => values[0] % values[1], 0);60 public override bool Eval(IPushInterpreter interpreter) { 61 return Eval(interpreter.IntegerStack, 2, values => values[0] % values[1], 0); 62 62 } 63 63 } … … 68 68 [PushExpression(StackType.Integer, "INTEGER.MIN")] 69 69 public class IntegerMinExpression : PushResultExpression<long> { 70 public override voidEval(IPushInterpreter interpreter) {71 this.Eval(interpreter.IntegerStack, 2, values => Math.Min(values[0], values[1]));70 public override bool Eval(IPushInterpreter interpreter) { 71 return Eval(interpreter.IntegerStack, 2, values => Math.Min(values[0], values[1])); 72 72 } 73 73 } … … 78 78 [PushExpression(StackType.Integer, "INTEGER.MAX")] 79 79 public class IntegerMaxExpression : PushResultExpression<long> { 80 public override voidEval(IPushInterpreter interpreter) {81 this.Eval(interpreter.IntegerStack, 2, values => Math.Max(values[0], values[1]));80 public override bool Eval(IPushInterpreter interpreter) { 81 return Eval(interpreter.IntegerStack, 2, values => Math.Max(values[0], values[1])); 82 82 } 83 83 } … … 88 88 [PushExpression(StackType.Integer, "INTEGER.<")] 89 89 public class IntegerSmallerThanExpression : PushResultExpression<long> { 90 public override voidEval(IPushInterpreter interpreter) {91 this.Eval(interpreter.IntegerStack, interpreter.BooleanStack, 2, values => values[0] < values[1]);90 public override bool Eval(IPushInterpreter interpreter) { 91 return Eval(interpreter.IntegerStack, interpreter.BooleanStack, 2, values => values[0] < values[1]); 92 92 } 93 93 } … … 98 98 [PushExpression(StackType.Integer, "INTEGER.>")] 99 99 public class IntegerGreaterThanExpression : PushResultExpression<long> { 100 public override voidEval(IPushInterpreter interpreter) {101 this.Eval(interpreter.IntegerStack, interpreter.BooleanStack, 2, values => values[0] > values[1]);100 public override bool Eval(IPushInterpreter interpreter) { 101 return Eval(interpreter.IntegerStack, interpreter.BooleanStack, 2, values => values[0] > values[1]); 102 102 } 103 103 } … … 108 108 [PushExpression(StackType.Integer, "INTEGER.FROMBOOLEAN")] 109 109 public class IntegerFromBooleanExpression : StatelessExpression { 110 public override voidEval(IPushInterpreter interpreter) {111 if (interpreter.BooleanStack.Count == 0) return ;110 public override bool Eval(IPushInterpreter interpreter) { 111 if (interpreter.BooleanStack.Count == 0) return false; 112 112 113 113 var condition = interpreter.BooleanStack.Pop(); … … 115 115 116 116 interpreter.IntegerStack.Push(value); 117 118 return true; 117 119 } 118 120 } … … 123 125 [PushExpression(StackType.Integer, "INTEGER.FROMFLOAT")] 124 126 public class IntegerFromFloatExpression : StatelessExpression { 125 public override voidEval(IPushInterpreter interpreter) {126 if (interpreter.FloatStack.Count == 0) return ;127 public override bool Eval(IPushInterpreter interpreter) { 128 if (interpreter.FloatStack.Count == 0) return false; 127 129 128 130 var value = (int)interpreter.FloatStack.Pop(); 129 131 130 132 interpreter.IntegerStack.Push(value); 133 134 return true; 131 135 } 132 136 }
Note: See TracChangeset
for help on using the changeset viewer.