public static BigDecimalValue round(BigDecimalValue value, int scale, int roundingMethod) { if (value == null) { return null; } return new BigDecimalValue(new BigDecimalValue(value.getValue().setScale(scale, roundingMethod)), NumberOperations.ROUND, new BigDecimalValue[] { value }); }
public static double cast(BigDecimalValue x, double y) { return x.doubleValue(); }
public static int cast(BigDecimalValue x, int y) { return x.intValue(); }
private static BigDecimalValue[] toBigDecimalValueValues(org.openl.meta.BigIntegerValue[] values) { if (values == null) { return null; } BigDecimalValue[] doubleValues = new BigDecimalValue[values.length]; int i = 0; for (BigIntegerValue value : values) { doubleValues[i] = BigDecimalValue.autocast(value, new BigDecimalValue("0")); i++; } return doubleValues; }
public static BigDecimalValue autocast(BigDecimal x, BigDecimalValue y) { if (x == null) { return null; } return new BigDecimalValue(x); }
/** * Divides left hand operand by right hand operand * @param value1 org.openl.meta.BigDecimalValue * @param value2 org.openl.meta.BigDecimalValue * @return the result of division operation */ public static org.openl.meta.BigDecimalValue divide(org.openl.meta.BigDecimalValue value1, org.openl.meta.BigDecimalValue value2) { // temporary commented to support operations with nulls // // validate(value1, value2, Formulas.DIVIDE.toString()); if (value1 == null && value2 == null) { return null; } if (value1 == null) { if (value2 != null && value2.doubleValue() != 0) { return new org.openl.meta.BigDecimalValue(value1, value2, divide(ONE, value2).getValue(), Formulas.DIVIDE); } } if (value2 == null) { return new org.openl.meta.BigDecimalValue(value1, value2, value1.getValue(), Formulas.DIVIDE); } if (value2.doubleValue() == 0) { throw new OpenLRuntimeException("Division by zero"); } return new org.openl.meta.BigDecimalValue(value1, value2, Operators.divide(value1.getValue(), value2.getValue()), Formulas.DIVIDE); }
/** Function constructor **/ public BigDecimalValue(BigDecimalValue result, NumberOperations function, BigDecimalValue[] params) { super(function, params); this.value = result.getValue(); }
/** * Subtracts left hand operand to right hand operand * @param value1 org.openl.meta.BigDecimalValue * @param value2 org.openl.meta.BigDecimalValue * @return the result of subtraction operation */ public static org.openl.meta.BigDecimalValue subtract(org.openl.meta.BigDecimalValue value1, org.openl.meta.BigDecimalValue value2) { // temporary commented to support operations with nulls // // validate(value1, value2, Formulas.SUBTRACT.toString()); if (value1 == null && value2 == null) { return null; } if (value1 == null) { return negative(value2); } if (value2 == null) { return value1; } return new org.openl.meta.BigDecimalValue(value1, value2, Operators.subtract(value1.getValue(), value2.getValue()), Formulas.SUBTRACT); }
public static byte cast(BigDecimalValue x, byte y) { return x.byteValue(); }
/** *Copy the current value with new name <b>name</b> */ @Override public org.openl.meta.BigDecimalValue copy(String name) { return copy(this, name); }
/** * * @param value * @return the <b>value</b> increased by 1 */ public static org.openl.meta.BigDecimalValue inc(org.openl.meta.BigDecimalValue value) { return add(value, ONE); }
public static DoubleValue convertToDoubleValue(Object object) { if (FloatValue.class.isAssignableFrom(object.getClass())) { return FloatValue.autocast((FloatValue) object, (DoubleValue) null); } if (DoubleValue.class.isAssignableFrom(object.getClass())) { return (DoubleValue) object; } if (BigDecimalValue.class.isAssignableFrom(object.getClass())) { return BigDecimalValue.cast((BigDecimalValue) object, (DoubleValue) null); } return new DoubleValue(convertToDouble(object)); }
public static BigDecimalValue autocast(BigDecimal x, BigDecimalValue y) { if (x == null) { return null; } return new BigDecimalValue(x); }
/** * Divides left hand operand by right hand operand * @param value1 org.openl.meta.BigDecimalValue * @param value2 org.openl.meta.BigDecimalValue * @return the result of division operation */ public static org.openl.meta.BigDecimalValue divide(org.openl.meta.BigDecimalValue value1, org.openl.meta.BigDecimalValue value2) { // temporary commented to support operations with nulls // // validate(value1, value2, Formulas.DIVIDE.toString()); if (value1 == null && value2 == null) { return null; } if (value1 == null) { if (value2 != null && value2.doubleValue() != 0) { return new org.openl.meta.BigDecimalValue(value1, value2, divide(ONE, value2).getValue(), Formulas.DIVIDE); } } if (value2 == null) { return new org.openl.meta.BigDecimalValue(value1, value2, value1.getValue(), Formulas.DIVIDE); } if (value2.doubleValue() == 0) { throw new OpenLRuntimeException("Division by zero"); } return new org.openl.meta.BigDecimalValue(value1, value2, Operators.divide(value1.getValue(), value2.getValue()), Formulas.DIVIDE); }
public static BigDecimal cast(BigDecimalValue x, BigDecimal y) { if (x == null) { return null; } return x.getValue(); }
/** * Subtracts left hand operand to right hand operand * @param value1 org.openl.meta.BigDecimalValue * @param value2 org.openl.meta.BigDecimalValue * @return the result of subtraction operation */ public static org.openl.meta.BigDecimalValue subtract(org.openl.meta.BigDecimalValue value1, org.openl.meta.BigDecimalValue value2) { // temporary commented to support operations with nulls // // validate(value1, value2, Formulas.SUBTRACT.toString()); if (value1 == null && value2 == null) { return null; } if (value1 == null) { return negative(value2); } if (value2 == null) { return value1; } return new org.openl.meta.BigDecimalValue(value1, value2, Operators.subtract(value1.getValue(), value2.getValue()), Formulas.SUBTRACT); }
private static BigDecimalValue[] toBigDecimalValueValues(org.openl.meta.BigIntegerValue[] values) { if (values == null) { return null; } BigDecimalValue[] doubleValues = new BigDecimalValue[values.length]; int i = 0; for (BigIntegerValue value : values) { doubleValues[i] = BigDecimalValue.autocast(value, new BigDecimalValue("0")); i++; } return doubleValues; }
public static byte cast(BigDecimalValue x, byte y) { return x.byteValue(); }
/** *Copy the current value with new name <b>name</b> */ @Override public org.openl.meta.BigDecimalValue copy(String name) { return copy(this, name); }
/** * * @param value * @return the <b>value</b> increased by 1 */ public static org.openl.meta.BigDecimalValue inc(org.openl.meta.BigDecimalValue value) { return add(value, ONE); }