public static BigDecimal toDecimal(Number self) { if (self is BigDecimal) { return((BigDecimal)self); } //if (self is Long) return BigDecimal.valueOf(self.longValue()); return(BigDecimal.valueOf(self.doubleValue())); }
public static BigDecimal fromStr(string s, bool check) { try { return(BigDecimal.valueOf(s)); } catch (System.FormatException) { if (!check) { return(null); } throw ParseErr.make("BigDecimal", s).val; } }
public static BigDecimal multInt(BigDecimal self, long x) { return(self.multiply(BigDecimal.valueOf(x))); }
public static BigDecimal divInt(BigDecimal self, long x) { return(self.divide(BigDecimal.valueOf(x))); }
public static BigDecimal plusDecimal(double self, BigDecimal x) { return(BigDecimal.valueOf(self).add(x)); }
public static BigDecimal divDecimal(double self, BigDecimal x) { return(BigDecimal.valueOf(self).divide(x)); }
public BigDecimal subtract(BigDecimal that) { return(BigDecimal.valueOf(val - that.val)); }
public BigDecimal remainder(BigDecimal that) { return(BigDecimal.valueOf(val % that.val)); }
public static BigDecimal minusInt(BigDecimal self, long x) { return(self.subtract(BigDecimal.valueOf(x))); }
public static BigDecimal plusFloat(BigDecimal self, double x) { return(self.add(BigDecimal.valueOf(x))); }
public static BigDecimal plusInt(BigDecimal self, long x) { return(self.add(BigDecimal.valueOf(x))); }
public static BigDecimal modFloat(BigDecimal self, double x) { return(self.remainder(BigDecimal.valueOf(x))); }
public static BigDecimal modInt(BigDecimal self, long x) { return(self.remainder(BigDecimal.valueOf(x))); }
public static BigDecimal divFloat(BigDecimal self, double x) { return(self.divide(BigDecimal.valueOf(x))); }
public BigDecimal multiply(BigDecimal that) { return(BigDecimal.valueOf(val * that.val)); }
public BigDecimal divide(BigDecimal that) { return(BigDecimal.valueOf(val / that.val)); }
public static BigDecimal minusFloat(BigDecimal self, double x) { return(self.subtract(BigDecimal.valueOf(x))); }
public BigDecimal add(BigDecimal that) { return(BigDecimal.valueOf(val + that.val)); }
////////////////////////////////////////////////////////////////////////// // Math ////////////////////////////////////////////////////////////////////////// public static BigDecimal abs(BigDecimal self) { return((self.decimalValue() >= 0) ? self : BigDecimal.valueOf(-self.decimalValue())); }
public static BigDecimal multDecimal(double self, BigDecimal x) { return(BigDecimal.valueOf(self).multiply(x)); }
////////////////////////////////////////////////////////////////////////// // Operators ////////////////////////////////////////////////////////////////////////// public static BigDecimal negate(BigDecimal self) { return(BigDecimal.valueOf(-self.decimalValue())); }
public static BigDecimal modDecimal(double self, BigDecimal x) { return(BigDecimal.valueOf(self).remainder(x)); }
public static BigDecimal decrement(BigDecimal self) { return(BigDecimal.valueOf(self.decimalValue() - 1)); }
public static BigDecimal minusDecimal(double self, BigDecimal x) { return(BigDecimal.valueOf(self).subtract(x)); }
public static BigDecimal multFloat(BigDecimal self, double x) { return(self.multiply(BigDecimal.valueOf(x))); }