Changeset 14398 for branches/PushGP/HeuristicLab.Algorithms.PushGP/HeuristicLab.Algorithms.PushGP/Expressions/YankExpressions.cs
- Timestamp:
- 11/16/16 23:14:01 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PushGP/HeuristicLab.Algorithms.PushGP/HeuristicLab.Algorithms.PushGP/Expressions/YankExpressions.cs
r14392 r14398 9 9 /// </summary> 10 10 /// <typeparam name="T">Stacktype</typeparam> 11 public abstract class YankExpression<T> : Expression11 public abstract class YankExpression<T> : StatelessExpression 12 12 { 13 public YankExpression(string stringRepresentation) : base(stringRepresentation)14 { }15 16 13 public void Eval(IStack<T> stack, IStack<long> integerStack, int count = 1) 17 14 { … … 33 30 public class IntegerYankExpression : YankExpression<long> 34 31 { 35 public IntegerYankExpression() : base("INTEGER.YANK") 36 { } 32 protected override string InitStringRepresentation() { return "INTEGER.YANK"; } 37 33 38 34 public override void Eval(IInterpreter interpreter) 39 35 { 40 this.Eval(interpreter.IntegerStack, interpreter.IntegerStack, 2);36 Eval(interpreter.IntegerStack, interpreter.IntegerStack, 2); 41 37 } 42 38 } … … 44 40 public class FloatYankExpression : YankExpression<double> 45 41 { 46 public FloatYankExpression() : base("FLOAT.YANK") 47 { } 42 protected override string InitStringRepresentation() { return "FLOAT.YANK"; } 48 43 49 44 public override void Eval(IInterpreter interpreter) 50 45 { 51 this.Eval(interpreter.FloatStack, interpreter.IntegerStack);46 Eval(interpreter.FloatStack, interpreter.IntegerStack); 52 47 } 53 48 } … … 55 50 public class BooleanYankExpression : YankExpression<bool> 56 51 { 57 public BooleanYankExpression() : base("BOOLEAN.YANK") 58 { } 52 protected override string InitStringRepresentation() { return "BOOLEAN.YANK"; } 59 53 60 54 public override void Eval(IInterpreter interpreter) 61 55 { 62 this.Eval(interpreter.BooleanStack, interpreter.IntegerStack);56 Eval(interpreter.BooleanStack, interpreter.IntegerStack); 63 57 } 64 58 } … … 66 60 public class NameYankExpression : YankExpression<string> 67 61 { 68 public NameYankExpression() : base("NAME.YANK") 69 { } 62 protected override string InitStringRepresentation() { return "NAME.YANK"; } 70 63 71 64 public override void Eval(IInterpreter interpreter) 72 65 { 73 this.Eval(interpreter.NameStack, interpreter.IntegerStack);66 Eval(interpreter.NameStack, interpreter.IntegerStack); 74 67 } 75 68 } … … 77 70 public class ExecYankExpression : YankExpression<Expression> 78 71 { 79 public ExecYankExpression() : base("EXEC.YANK") 80 { } 72 protected override string InitStringRepresentation() { return "EXEC.YANK"; } 81 73 82 74 public override void Eval(IInterpreter interpreter) 83 75 { 84 this.Eval(interpreter.ExecStack, interpreter.IntegerStack);76 Eval(interpreter.ExecStack, interpreter.IntegerStack); 85 77 } 86 78 } … … 88 80 public class CodeYankExpression : YankExpression<Expression> 89 81 { 90 public CodeYankExpression() : base("CODE.YANK") 91 { } 82 protected override string InitStringRepresentation() { return "CODE.YANK"; } 92 83 93 84 public override void Eval(IInterpreter interpreter) 94 85 { 95 this.Eval(interpreter.CodeStack, interpreter.IntegerStack);86 Eval(interpreter.CodeStack, interpreter.IntegerStack); 96 87 } 97 88 }
Note: See TracChangeset
for help on using the changeset viewer.