public override Expression asExpression(Registers r) { bool transpose = false; Expression leftExpression = r.getKExpression(left, line); Expression rightExpression = r.getKExpression(right, line); if(((left | right) & 256) == 0) { transpose = r.getUpdated(left, line) > r.getUpdated(right, line); } else { transpose = rightExpression.getConstantIndex() < leftExpression.getConstantIndex(); } string op = !transpose ? "<" : ">"; Expression rtn = new BinaryExpression(op, !transpose ? leftExpression : rightExpression, !transpose ? rightExpression : leftExpression, Expression.PRECEDENCE_COMPARE, Expression.ASSOCIATIVITY_LEFT); if(_invert) { rtn = new UnaryExpression("not ", rtn, Expression.PRECEDENCE_UNARY); } return rtn; }
public override Expression asExpression(Registers r) { bool transpose = false; Expression leftExpression = r.getKExpression(left, line); Expression rightExpression = r.getKExpression(right, line); if (((left | right) & 256) == 0) { transpose = r.getUpdated(left, line) > r.getUpdated(right, line); } else { transpose = rightExpression.getConstantIndex() < leftExpression.getConstantIndex(); } string op = !transpose ? "<=" : ">="; Expression rtn = new BinaryExpression(op, !transpose ? leftExpression : rightExpression, !transpose ? rightExpression : leftExpression, Expression.PRECEDENCE_COMPARE, Expression.ASSOCIATIVITY_LEFT); if (_invert) { rtn = new UnaryExpression("not ", rtn, Expression.PRECEDENCE_UNARY); } return(rtn); }