Changeset 14744 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/FloatExpressions.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/FloatExpressions.cs
r14733 r14744 11 11 [PushExpression(StackType.Float, "FLOAT.+")] 12 12 public class FloatAddExpression : PushResultExpression<double> { 13 public override voidEval(IPushInterpreter interpreter) {14 Eval(interpreter.FloatStack, 2, values => values[0] + values[1]);13 public override bool Eval(IPushInterpreter interpreter) { 14 return Eval(interpreter.FloatStack, 2, values => values[0] + values[1]); 15 15 } 16 16 } … … 21 21 [PushExpression(StackType.Float, "FLOAT.-")] 22 22 public class FloatSubtractExpression : PushResultExpression<double> { 23 public override voidEval(IPushInterpreter interpreter) {24 this.Eval(interpreter.FloatStack, 2, values => values[0] - values[1]);23 public override bool Eval(IPushInterpreter interpreter) { 24 return Eval(interpreter.FloatStack, 2, values => values[0] - values[1]); 25 25 } 26 26 } … … 31 31 [PushExpression(StackType.Float, "FLOAT.*")] 32 32 public class FloatMultiplyExpression : PushResultExpression<double> { 33 public override voidEval(IPushInterpreter interpreter) {34 this.Eval(interpreter.FloatStack, 2, values => values[0] * values[1]);33 public override bool Eval(IPushInterpreter interpreter) { 34 return Eval(interpreter.FloatStack, 2, values => values[0] * values[1]); 35 35 } 36 36 } … … 42 42 [PushExpression(StackType.Float, "FLOAT./")] 43 43 public class FloatDivideExpression : PushResultExpression<double> { 44 public override voidEval(IPushInterpreter interpreter) {45 this.Eval(interpreter.FloatStack, 2, values => values[0] / values[1], 0);44 public override bool Eval(IPushInterpreter interpreter) { 45 return Eval(interpreter.FloatStack, 2, values => values[0] / values[1], 0); 46 46 } 47 47 } … … 56 56 [PushExpression(StackType.Float, "FLOAT.%")] 57 57 public class FloatModuloExpression : PushResultExpression<double> { 58 public override voidEval(IPushInterpreter interpreter) {59 this.Eval(interpreter.FloatStack, 2, values => values[0] % values[1], 0);58 public override bool Eval(IPushInterpreter interpreter) { 59 return Eval(interpreter.FloatStack, 2, values => values[0] % values[1], 0); 60 60 } 61 61 } … … 66 66 [PushExpression(StackType.Float, "FLOAT.MIN")] 67 67 public class FloatMinExpression : PushResultExpression<double> { 68 public override voidEval(IPushInterpreter interpreter) {69 this.Eval(interpreter.FloatStack, 2, values => Math.Min(values[0], values[1]));68 public override bool Eval(IPushInterpreter interpreter) { 69 return Eval(interpreter.FloatStack, 2, values => Math.Min(values[0], values[1])); 70 70 } 71 71 } … … 76 76 [PushExpression(StackType.Float, "FLOAT.MAX")] 77 77 public class FloatMaxExpression : PushResultExpression<double> { 78 public override voidEval(IPushInterpreter interpreter) {79 this.Eval(interpreter.FloatStack, 2, values => Math.Max(values[0], values[1]));78 public override bool Eval(IPushInterpreter interpreter) { 79 return Eval(interpreter.FloatStack, 2, values => Math.Max(values[0], values[1])); 80 80 } 81 81 } … … 86 86 [PushExpression(StackType.Float, "FLOAT.<")] 87 87 public class FloatSmallerThanExpression : PushResultExpression<double> { 88 public override voidEval(IPushInterpreter interpreter) {89 this.Eval(interpreter.FloatStack, interpreter.BooleanStack, 2, values => values[0] < values[1]);88 public override bool Eval(IPushInterpreter interpreter) { 89 return Eval(interpreter.FloatStack, interpreter.BooleanStack, 2, values => values[0] < values[1]); 90 90 } 91 91 } … … 96 96 [PushExpression(StackType.Float, "FLOAT.>")] 97 97 public class FloatGreaterThanExpression : PushResultExpression<double> { 98 public override voidEval(IPushInterpreter interpreter) {99 this.Eval(interpreter.FloatStack, interpreter.BooleanStack, 2, values => values[0] > values[1]);98 public override bool Eval(IPushInterpreter interpreter) { 99 return Eval(interpreter.FloatStack, interpreter.BooleanStack, 2, values => values[0] > values[1]); 100 100 } 101 101 } … … 106 106 [PushExpression(StackType.Float, "FLOAT.SIN")] 107 107 public class FloatSineExpression : PushResultExpression<double> { 108 public override voidEval(IPushInterpreter interpreter) {109 this.Eval(interpreter.FloatStack, 1, values => Math.Sin(values[0]));108 public override bool Eval(IPushInterpreter interpreter) { 109 return Eval(interpreter.FloatStack, 1, values => Math.Sin(values[0])); 110 110 } 111 111 } … … 116 116 [PushExpression(StackType.Float, "FLOAT.COS")] 117 117 public class FloatCosineExpression : PushResultExpression<double> { 118 public override voidEval(IPushInterpreter interpreter) {119 this.Eval(interpreter.FloatStack, 1, values => Math.Cos(values[0]));118 public override bool Eval(IPushInterpreter interpreter) { 119 return Eval(interpreter.FloatStack, 1, values => Math.Cos(values[0])); 120 120 } 121 121 } … … 126 126 [PushExpression(StackType.Float, "FLOAT.FROMBOOLEAN")] 127 127 public class FloatFromBooleanExpression : StatelessExpression { 128 public override voidEval(IPushInterpreter interpreter) {129 if (interpreter.BooleanStack.Count == 0) return ;128 public override bool Eval(IPushInterpreter interpreter) { 129 if (interpreter.BooleanStack.Count == 0) return false; 130 130 131 131 var condition = interpreter.BooleanStack.Pop(); … … 133 133 134 134 interpreter.FloatStack.Push(value); 135 136 return true; 135 137 } 136 138 } … … 141 143 [PushExpression(StackType.Float, "FLOAT.FROMINTEGER")] 142 144 public class FloatFromIntegerExpression : StatelessExpression { 143 public override voidEval(IPushInterpreter interpreter) {144 if (interpreter.IntegerStack.Count == 0) return ;145 public override bool Eval(IPushInterpreter interpreter) { 146 if (interpreter.IntegerStack.Count == 0) return false; 145 147 146 148 var value = (double)interpreter.IntegerStack.Pop(); 147 149 148 150 interpreter.FloatStack.Push(value); 151 152 return true; 149 153 } 150 154 }
Note: See TracChangeset
for help on using the changeset viewer.