/** * Is used to overload implicit cast operators from int to * org.openl.meta.IntValue * * @param x * @param y is needed to avoid ambiguity in Java method resolution * @return the casted value to org.openl.meta.IntValue */ public static org.openl.meta.IntValue autocast(int x, org.openl.meta.IntValue y) { return new org.openl.meta.IntValue((int) x); }
public static double cast(IntValue x, double y) { return x.doubleValue(); }
public static IntValue add(IntValue value1, String value2) { if (value2 == null) { return value1; } if (value1 == null) { return new IntValue(Integer.valueOf(value2)); } int v = Integer.valueOf(value2); return new org.openl.meta.IntValue(value1, new IntValue(v), Operators.add(value1.getValue(), v), Formulas.ADD); }
public static IntValue divide(IntValue value1, IntValue value2) { if (value1 == null && value2 == null) { return null; } if (value1 == null) { if (value2 != null && value2.doubleValue() != 0) { return new IntValue(value1, value2, divide(IntValue.ONE, value2).getValue(), Formulas.DIVIDE); } } if (value2 == null) { return new IntValue(value1, value2, value1.getValue(), Formulas.DIVIDE); } if (value2.doubleValue() == 0) { throw new OpenLRuntimeException("Division by zero"); } return new IntValue(value1, value2, divide(value1.getValue(), value2.getValue()), Formulas.DIVIDE); }
/** * Subtracts left hand operand to right hand operand * * @param value1 org.openl.meta.IntValue * @param value2 org.openl.meta.IntValue * @return the result of subtraction operation */ public static org.openl.meta.IntValue subtract(org.openl.meta.IntValue value1, org.openl.meta.IntValue 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.IntValue(value1, value2, Operators.subtract(value1.getValue(), value2.getValue()), Formulas.SUBTRACT); }
public Integer marshal(IntValue val) throws Exception { return val.getValue(); } }
/** Function constructor **/ public IntValue(IntValue result, NumberOperations function, IntValue[] params) { super(function, params); this.value = result.intValue(); }
if (value2 != null && value2.doubleValue() != 0) { return new org.openl.meta.DoubleValue(null, new DoubleValue(value2.doubleValue()), divide(ONE, value2).getValue(), Formulas.DIVIDE); return new org.openl.meta.DoubleValue(new DoubleValue(value1.doubleValue()), null, value1.getValue(), Formulas.DIVIDE); if (value2.doubleValue() == 0) { throw new OpenLRuntimeException("Division by zero"); return new org.openl.meta.DoubleValue(new DoubleValue(value1.doubleValue()), new DoubleValue(value2.doubleValue()), Operators.divide(value1.getValue(), value2.getValue()), Formulas.DIVIDE);
public static byte cast(IntValue x, byte y) { return x.byteValue(); }
/** * * @param value * @return the <b>value</b> increased by 1 */ public static org.openl.meta.IntValue inc(org.openl.meta.IntValue value) { return add(value, ONE); }
/** * Copy the current value with new name <b>name</b> */ @Override public org.openl.meta.IntValue copy(String name) { return copy(this, name); }
private static DoubleValue[] toDoubleValues(org.openl.meta.IntValue[] values) { if (values == null) { return null; } DoubleValue[] doubleValues = new DoubleValue[values.length]; int i = 0; for (IntValue value : values) { doubleValues[i] = autocast(value, DoubleValue.ZERO); i++; } return doubleValues; }
/** * Subtracts left hand operand to right hand operand * * @param value1 org.openl.meta.IntValue * @param value2 org.openl.meta.IntValue * @return the result of subtraction operation */ public static org.openl.meta.IntValue subtract(org.openl.meta.IntValue value1, org.openl.meta.IntValue 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.IntValue(value1, value2, Operators.subtract(value1.getValue(), value2.getValue()), Formulas.SUBTRACT); }
public Integer marshal(IntValue val) throws Exception { return val.getValue(); } }
@Override public Integer convert(IntValue param) { if (param == null) { return null; } return param.intValue(); };
if (value2 != null && value2.doubleValue() != 0) { return new org.openl.meta.DoubleValue(null, new DoubleValue(value2.doubleValue()), divide(ONE, value2).getValue(), Formulas.DIVIDE); return new org.openl.meta.DoubleValue(new DoubleValue(value1.doubleValue()), null, value1.getValue(), Formulas.DIVIDE); if (value2.doubleValue() == 0) { throw new OpenLRuntimeException("Division by zero"); return new org.openl.meta.DoubleValue(new DoubleValue(value1.doubleValue()), new DoubleValue(value2.doubleValue()), Operators.divide(value1.getValue(), value2.getValue()), Formulas.DIVIDE);
public static byte cast(IntValue x, byte y) { return x.byteValue(); }
/** * * @param value * @return the <b>value</b> increased by 1 */ public static org.openl.meta.IntValue inc(org.openl.meta.IntValue value) { return add(value, ONE); }
/** * Copy the current value with new name <b>name</b> */ @Override public org.openl.meta.IntValue copy(String name) { return copy(this, name); }
private static DoubleValue[] toDoubleValues(org.openl.meta.IntValue[] values) { if (values == null) { return null; } DoubleValue[] doubleValues = new DoubleValue[values.length]; int i = 0; for (IntValue value : values) { doubleValues[i] = autocast(value, DoubleValue.ZERO); i++; } return doubleValues; }