@Override public Number modulus(Number first, Number second) throws TemplateException { switch(getCommonClassCode(first, second)) { case INTEGER: { return Integer.valueOf(first.intValue() % second.intValue()); } case LONG: { return Long.valueOf(first.longValue() % second.longValue()); } case FLOAT: { return Float.valueOf(first.floatValue() % second.floatValue()); } case DOUBLE: { return Double.valueOf(first.doubleValue() % second.doubleValue()); } case BIGINTEGER: { BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.mod(n2); } case BIGDECIMAL: { throw new _MiscTemplateException("Can't calculate remainder on BigDecimals"); } } // Make the compiler happy. getCommonClassCode() is guaranteed to // return only above codes, or throw an exception. throw new BugException(); }
BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.compareTo(n2);
BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); BigInteger[] divmod = n1.divideAndRemainder(n2); if (divmod[1].equals(BigInteger.ZERO)) {
: (Number) toBigInteger(first).multiply(toBigInteger(second)); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.multiply(n2);
return ((n ^ n1) < 0 && (n ^ n2) < 0) // overflow check ? toBigInteger(first).add(toBigInteger(second)) : Long.valueOf(n); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.add(n2);
: (Number)toBigInteger(first).multiply(toBigInteger(second)); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.multiply(n2);
return ((n ^ n1) < 0 && (n ^ ~n2) < 0) // overflow check ? (Number)toBigInteger(first).subtract(toBigInteger(second)) : (Number)new Long(n); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.subtract(n2);
return ((n ^ n1) < 0 && (n ^ n2) < 0) // overflow check ? (Number)toBigInteger(first).add(toBigInteger(second)) : (Number)new Long(n); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.add(n2);
return ((n ^ n1) < 0 && (n ^ ~n2) < 0) // overflow check ? (Number) toBigInteger(first).subtract(toBigInteger(second)) : (Number) Long.valueOf(n); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.subtract(n2);
return ((n ^ n1) < 0 && (n ^ n2) < 0) // overflow check ? toBigInteger(first).add(toBigInteger(second)) : Long.valueOf(n); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.add(n2);
BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.compareTo(n2);
return ((n ^ n1) < 0 && (n ^ ~n2) < 0) // overflow check ? (Number) toBigInteger(first).subtract(toBigInteger(second)) : (Number) Long.valueOf(n); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.subtract(n2);
BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.compareTo(n2);
BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.compareTo(n2);
@Override public Number modulus(Number first, Number second) throws TemplateException { switch(getCommonClassCode(first, second)) { case INTEGER: { return Integer.valueOf(first.intValue() % second.intValue()); } case LONG: { return Long.valueOf(first.longValue() % second.longValue()); } case FLOAT: { return Float.valueOf(first.floatValue() % second.floatValue()); } case DOUBLE: { return Double.valueOf(first.doubleValue() % second.doubleValue()); } case BIGINTEGER: { BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.mod(n2); } case BIGDECIMAL: { throw new _MiscTemplateException("Can't calculate remainder on BigDecimals"); } } // Make the compiler happy. getCommonClassCode() is guaranteed to // return only above codes, or throw an exception. throw new BugException(); }
@Override public Number modulus(Number first, Number second) throws TemplateException { switch(getCommonClassCode(first, second)) { case INTEGER: { return Integer.valueOf(first.intValue() % second.intValue()); } case LONG: { return Long.valueOf(first.longValue() % second.longValue()); } case FLOAT: { return Float.valueOf(first.floatValue() % second.floatValue()); } case DOUBLE: { return Double.valueOf(first.doubleValue() % second.doubleValue()); } case BIGINTEGER: { BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.mod(n2); } case BIGDECIMAL: { throw new _MiscTemplateException("Can't calculate remainder on BigDecimals"); } } // Make the compiler happy. getCommonClassCode() is guaranteed to // return only above codes, or throw an exception. throw new BugException(); }
public Number modulus(Number first, Number second) throws TemplateException { switch(getCommonClassCode(first, second)) { case INTEGER: { return new Integer(first.intValue() % second.intValue()); } case LONG: { return new Long(first.longValue() % second.longValue()); } case FLOAT: { return new Float(first.floatValue() % second.floatValue()); } case DOUBLE: { return new Double(first.doubleValue() % second.doubleValue()); } case BIGINTEGER: { BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.mod(n2); } case BIGDECIMAL: { throw new TemplateException("Can't calculate remainder on BigDecimals", Environment.getCurrentEnvironment()); } } // Make the compiler happy. getCommonClassCode() is guaranteed to // return only above codes, or throw an exception. throw new Error(); }
return ((n ^ n1) < 0 && (n ^ ~n2) < 0) // overflow check ? (Number) toBigInteger(first).subtract(toBigInteger(second)) : (Number) Long.valueOf(n); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.subtract(n2);
return ((n ^ n1) < 0 && (n ^ n2) < 0) // overflow check ? toBigInteger(first).add(toBigInteger(second)) : Long.valueOf(n); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.add(n2);
: (Number) toBigInteger(first).multiply(toBigInteger(second)); BigInteger n1 = toBigInteger(first); BigInteger n2 = toBigInteger(second); return n1.multiply(n2);