@Override public ArithmeticExpression clone(List<Expression> children) { return new DoubleSubtractExpression(children); }
@Test public void subtract() throws Exception { List<Expression> args = Lists.newArrayList(getInvertedLiteral(10, PInteger.INSTANCE), getLiteral(2)); evaluateAndAssertResult(new DecimalSubtractExpression(args), BigDecimal.valueOf(8)); args = Lists.newArrayList(getInvertedLiteral(10, PInteger.INSTANCE), getLiteral(2)); evaluateAndAssertResult(new LongSubtractExpression(args), 8l); args = Lists.newArrayList(getInvertedLiteral(10.0, PFloat.INSTANCE), getLiteral(2)); evaluateAndAssertResult(new DoubleSubtractExpression(args), 8.0); args = Lists.newArrayList(getInvertedLiteral(10.0, PUnsignedFloat.INSTANCE), getLiteral(2)); evaluateAndAssertResult(new DoubleSubtractExpression(args), 8.0); args = Lists.newArrayList(getInvertedLiteral(10.0, PUnsignedDouble.INSTANCE), getLiteral(2)); evaluateAndAssertResult(new DoubleSubtractExpression(args), 8.0); args = Lists.newArrayList(getInvertedLiteral(10.0, PDouble.INSTANCE), getLiteral(2)); evaluateAndAssertResult(new DoubleSubtractExpression(args), 8.0); }
@Override public ArithmeticExpression clone(List<Expression> children) { return new DoubleSubtractExpression(children); }
@Override public ArithmeticExpression clone(List<Expression> children) { return new DoubleSubtractExpression(children); }
return new LongSubtractExpression(children); } else if (theType == PDouble.INSTANCE) { return new DoubleSubtractExpression(children); } else if (theType == null) { return LiteralExpression.newConstant(null, theType, determinism);
e1 = new DoubleAddExpression(children); children = Arrays.<Expression>asList(op3, op4); e2 = new DoubleSubtractExpression(children); e3 = new DoubleAddExpression(Arrays.<Expression>asList(e1, e2)); e4 = new DoubleAddExpression(Arrays.<Expression>asList(new RandomFunction(Arrays.<Expression>asList(LiteralExpression.newConstant(null))), e3));
return new LongSubtractExpression(children); } else if (theType == PDouble.INSTANCE) { return new DoubleSubtractExpression(children); } else if (theType == null) { return LiteralExpression.newConstant(null, theType, determinism);
return new LongSubtractExpression(children); } else if (theType == PDouble.INSTANCE) { return new DoubleSubtractExpression(children); } else if (theType == null) { return LiteralExpression.newConstant(null, theType, determinism);