clojure.algo.generic.math-functions/abs 在以下情况下无法工作
clojure.lang.Ratio
clojure.lang.BigInt
java.math.BigDecimal
java.math.BigInteger
我为这些类定义了普通的 defmethods,以及一个 java.lang.Number 的 defmethods,以保留其他数字类的先前功能。
clojure.algo.generic.math-functions/round 在以下情况下无法工作
clojure.lang.Ratio
clojure.lang.BigInt
java.math.BigDecimal
java.math.BigInteger
Java各种整数类(为什么 round 应该在整数上工作?)
我定义了普通的 defmethods 以将 java.Math.round 代理给 double 和 float,在其他整数类上作为恒等操作,将 java.math.BigDecimal#round 代理给 BigDecimal,并将 Ratio 转换为 double 或 BigDecimal 并对其进行四舍五入。