Changeset 14834 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/StackdepthExpressions.cs
- Timestamp:
- 04/10/17 00:27:31 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/StackdepthExpressions.cs
r14777 r14834 1 1 namespace HeuristicLab.Problems.ProgramSynthesis.Push.Expressions { 2 using System.Collections.Generic; 3 2 4 using HeuristicLab.Problems.ProgramSynthesis.Push.Attributes; 3 5 … … 10 12 /// <typeparam name="T">Stacktype</typeparam> 11 13 public abstract class StackdepthExpression<T> : StatelessExpression { 12 public bool Eval(I Stack<T> stack, IStack<long> integerStack, bool incremental = false) {14 public bool Eval(IPushStack<T> stack, IPushStack<long> integerStack, bool incremental = false) { 13 15 var count = stack.Count; 14 16 … … 23 25 public class IntegerStackdepthExpression : StackdepthExpression<long> { 24 26 25 public override bool Eval(I PushInterpreter interpreter) {27 public override bool Eval(IInternalPushInterpreter interpreter) { 26 28 return Eval(interpreter.IntegerStack, interpreter.IntegerStack, true); 27 29 } … … 30 32 [PushExpression(StackTypes.Float, "FLOAT.STACKDEPTH", StackTypes.Integer)] 31 33 public class FloatStackdepthExpression : StackdepthExpression<double> { 32 public override bool Eval(I PushInterpreter interpreter) {34 public override bool Eval(IInternalPushInterpreter interpreter) { 33 35 return Eval(interpreter.FloatStack, interpreter.IntegerStack); 34 36 } … … 37 39 [PushExpression(StackTypes.Boolean, "BOOLEAN.STACKDEPTH", StackTypes.Integer)] 38 40 public class BooleanStackdepthExpression : StackdepthExpression<bool> { 39 public override bool Eval(I PushInterpreter interpreter) {41 public override bool Eval(IInternalPushInterpreter interpreter) { 40 42 return Eval(interpreter.BooleanStack, interpreter.IntegerStack); 41 43 } … … 44 46 [PushExpression(StackTypes.Name, "NAME.STACKDEPTH", StackTypes.Integer)] 45 47 public class NameStackdepthExpression : StackdepthExpression<string> { 46 public override bool Eval(I PushInterpreter interpreter) {48 public override bool Eval(IInternalPushInterpreter interpreter) { 47 49 return Eval(interpreter.NameStack, interpreter.IntegerStack); 48 50 } … … 51 53 [PushExpression(StackTypes.Exec, "EXEC.STACKDEPTH", StackTypes.Integer)] 52 54 public class ExecStackdepthExpression : StackdepthExpression<Expression> { 53 public override bool Eval(I PushInterpreter interpreter) {55 public override bool Eval(IInternalPushInterpreter interpreter) { 54 56 return Eval(interpreter.ExecStack, interpreter.IntegerStack); 55 57 } … … 58 60 [PushExpression(StackTypes.Code, "CODE.STACKDEPTH", StackTypes.Integer)] 59 61 public class CodeStackdepthExpression : StackdepthExpression<Expression> { 60 public override bool Eval(I PushInterpreter interpreter) {62 public override bool Eval(IInternalPushInterpreter interpreter) { 61 63 return Eval(interpreter.CodeStack, interpreter.IntegerStack); 62 64 } … … 65 67 [PushExpression(StackTypes.Char, "CHAR.STACKDEPTH", StackTypes.Integer)] 66 68 public class CharStackdepthExpression : StackdepthExpression<char> { 67 public override bool Eval(I PushInterpreter interpreter) {69 public override bool Eval(IInternalPushInterpreter interpreter) { 68 70 return Eval(interpreter.CharStack, interpreter.IntegerStack); 69 71 } … … 72 74 [PushExpression(StackTypes.String, "STRING.STACKDEPTH", StackTypes.Integer)] 73 75 public class StringStackdepthExpression : StackdepthExpression<string> { 74 public override bool Eval(I PushInterpreter interpreter) {76 public override bool Eval(IInternalPushInterpreter interpreter) { 75 77 return Eval(interpreter.StringStack, interpreter.IntegerStack); 76 78 } 77 79 } 80 81 [PushExpression(StackTypes.IntegerVector, "INTEGER[].STACKDEPTH", StackTypes.Integer)] 82 public class IntegerVectorStackdepthExpression : StackdepthExpression<List<long>> { 83 public override bool Eval(IInternalPushInterpreter interpreter) { 84 return Eval(interpreter.IntegerVectorStack, interpreter.IntegerStack); 85 } 86 } 78 87 }
Note: See TracChangeset
for help on using the changeset viewer.