/** * 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); }
/** * 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); }