public override Value EvaluateReverse(Value left, BinaryExpression op)
 {
     if (this.GetLevel() >= left.GetLevel())
     {
         Float leftF  = (Float)left.Convert(typeof(Float));
         Value result = ValueFactory.CreateValue(
             op.Evaluate(leftF.GetValue(), this.GetValue()));
         return(result);
     }
     else
     {
         return(left.Evaluate(this, op));
     }
 }
示例#2
0
 public override Value Evaluate(Value right, BinaryExpression op)
 {
     if (this.GetLevel() >= right.GetLevel())
     {
         Integer rightI = (Integer)right.Convert(typeof (Integer));
         Value result = ValueFactory.CreateValue(
             op.Evaluate(this.GetValue(), rightI.GetValue()));
             return result;
     }
     else
     {
         return right.EvaluateReverse(this, op);
     }
 }
示例#3
0
 public override Value EvaluateReverse(Value left, BinaryExpression op)
 {
     if (this.GetLevel() >= left.GetLevel())
     {
         Float leftF = (Float)left.Convert(typeof (Float));
         Value result = ValueFactory.CreateValue(
             op.Evaluate(leftF.GetValue(), this.GetValue()));
         return result;
     }
     else
     {
         return left.Evaluate(this, op);
     }
 }
 public override Value Evaluate(Value right, BinaryExpression op)
 {
     if (this.GetLevel() >= right.GetLevel())
     {
         Integer rightI = (Integer)right.Convert(typeof(Integer));
         Value   result = ValueFactory.CreateValue(
             op.Evaluate(this.GetValue(), rightI.GetValue()));
         return(result);
     }
     else
     {
         return(right.EvaluateReverse(this, op));
     }
 }