Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/10/17 21:42:09 (7 years ago)
Author:
pkimmesw
Message:

#2665 Renamings due to typos, ManagedPool tests, Skip Noops in Debugger

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Expressions/YankDuplicateExpressions.cs

    r14733 r14744  
    1010  /// <typeparam name="T">Stacktype</typeparam>
    1111  public abstract class YankDuplicateExpression<T> : StatelessExpression {
    12     public void Eval(IStack<T> stack, IStack<long> integerStack) {
     12    public bool Eval(IStack<T> stack, IStack<long> integerStack) {
    1313      T item;
    14       if (this.TryGetItem(stack, integerStack, out item)) stack.Push(item);
     14      if (!this.TryGetItem(stack, integerStack, out item))
     15        return false;
     16
     17      stack.Push(item);
     18      return true;
    1519    }
    1620
    17     public void Eval(IStack<Expression> stack, IStack<long> integerStack) {
     21    public bool Eval(IStack<Expression> stack, IStack<long> integerStack) {
    1822      Expression item;
    19       if (this.TryGetItem(stack, integerStack, out item)) stack.Push(item);
     23      if (!this.TryGetItem(stack, integerStack, out item))
     24        return false;
     25
     26      stack.Push(item);
     27      return true;
    2028    }
    2129
    22     public void Eval(IStack<long> integerStack) {
     30    public bool Eval(IStack<long> integerStack) {
    2331      if ((integerStack.Count < 2) || (integerStack.Top > integerStack.Count - 2) ||
    24           (integerStack.Top < 0)) return;
     32          (integerStack.Top < 0)) return false;
    2533
    2634      var index = (int)integerStack.Pop();
     
    2836
    2937      integerStack.Push(item);
     38      return true;
    3039    }
    3140
     
    4857  [PushExpression(StackType.Integer, "INTEGER.YANKDUP")]
    4958  public class IntegerYankDuplicateExpression : YankDuplicateExpression<long> {
    50     public override void Eval(IPushInterpreter interpreter) {
    51       this.Eval(interpreter.IntegerStack);
     59    public override bool Eval(IPushInterpreter interpreter) {
     60      return this.Eval(interpreter.IntegerStack);
    5261    }
    5362  }
     
    5564  [PushExpression(StackType.Float, "FLOAT.YANKDUP")]
    5665  public class FloatYankDuplicateExpression : YankDuplicateExpression<double> {
    57     public override void Eval(IPushInterpreter interpreter) {
    58       this.Eval(interpreter.FloatStack, interpreter.IntegerStack);
     66    public override bool Eval(IPushInterpreter interpreter) {
     67      return this.Eval(interpreter.FloatStack, interpreter.IntegerStack);
    5968    }
    6069  }
     
    6271  [PushExpression(StackType.Boolean, "BOOLEAN.YANKDUP")]
    6372  public class BooleanYankDuplicateExpression : YankDuplicateExpression<bool> {
    64     public override void Eval(IPushInterpreter interpreter) {
    65       this.Eval(interpreter.BooleanStack, interpreter.IntegerStack);
     73    public override bool Eval(IPushInterpreter interpreter) {
     74      return this.Eval(interpreter.BooleanStack, interpreter.IntegerStack);
    6675    }
    6776  }
     
    6978  [PushExpression(StackType.Name, "NAME.YANKDUP")]
    7079  public class NameYankDuplicateExpression : YankDuplicateExpression<string> {
    71     public override void Eval(IPushInterpreter interpreter) {
    72       this.Eval(interpreter.NameStack, interpreter.IntegerStack);
     80    public override bool Eval(IPushInterpreter interpreter) {
     81      return this.Eval(interpreter.NameStack, interpreter.IntegerStack);
    7382    }
    7483  }
     
    7685  [PushExpression(StackType.Exec, "EXEC.YANKDUP")]
    7786  public class ExecYankDuplicateExpression : YankDuplicateExpression<Expression> {
    78     public override void Eval(IPushInterpreter interpreter) {
    79       this.Eval(interpreter.ExecStack, interpreter.IntegerStack);
     87    public override bool Eval(IPushInterpreter interpreter) {
     88      return this.Eval(interpreter.ExecStack, interpreter.IntegerStack);
    8089    }
    8190  }
     
    8392  [PushExpression(StackType.Code, "CODE.YANKDUP")]
    8493  public class CodeYankDuplicateExpression : YankDuplicateExpression<Expression> {
    85     public override void Eval(IPushInterpreter interpreter) {
    86       this.Eval(interpreter.CodeStack, interpreter.IntegerStack);
     94    public override bool Eval(IPushInterpreter interpreter) {
     95      return this.Eval(interpreter.CodeStack, interpreter.IntegerStack);
    8796    }
    8897  }
Note: See TracChangeset for help on using the changeset viewer.