public static final Number mod(TypeConverter converter, Object o1, Object o2) { if (o1 == null && o2 == null) { return LONG_ZERO; } if (isBigDecimalOrFloatOrDoubleOrDotEe(o1) || isBigDecimalOrFloatOrDoubleOrDotEe(o2)) { return converter.convert(o1, Double.class) % converter.convert(o2, Double.class); } if (o1 instanceof BigInteger || o2 instanceof BigInteger) { return converter.convert(o1, BigInteger.class).remainder(converter.convert(o2, BigInteger.class)); } return converter.convert(o1, Long.class) % converter.convert(o2, Long.class); }
public static final Number mod(TypeConverter converter, Object o1, Object o2) { if (o1 == null && o2 == null) { return LONG_ZERO; } if (isBigDecimalOrFloatOrDoubleOrDotEe(o1) || isBigDecimalOrFloatOrDoubleOrDotEe(o2)) { return converter.convert(o1, Double.class) % converter.convert(o2, Double.class); } if (o1 instanceof BigInteger || o2 instanceof BigInteger) { return converter.convert(o1, BigInteger.class).remainder(converter.convert(o2, BigInteger.class)); } return converter.convert(o1, Long.class) % converter.convert(o2, Long.class); }
public static final Number mod(TypeConverter converter, Object o1, Object o2) { if (o1 == null && o2 == null) { return LONG_ZERO; } if (isBigDecimalOrFloatOrDoubleOrDotEe(o1) || isBigDecimalOrFloatOrDoubleOrDotEe(o2)) { return converter.convert(o1, Double.class) % converter.convert(o2, Double.class); } if (o1 instanceof BigInteger || o2 instanceof BigInteger) { return converter.convert(o1, BigInteger.class).remainder(converter.convert(o2, BigInteger.class)); } return converter.convert(o1, Long.class) % converter.convert(o2, Long.class); }