clojure.algo.generic.math-functions/abs在以下类型上不起作用:
clojure.lang.Ratio
clojure.lang.BigInt
java.math.BigDecimal
java.math.BigInteger
我为这些类定义了defmethods,另外还为java.lang.Number定义了一个,以保留其他数值类的前一个功能。
clojure.algo.generic.math-functions/round在以下类型上不起作用:
clojure.lang.Ratio
clojure.lang.BigInt
java.math.BigDecimal
java.math.BigInteger
各种java整数类(为什么round不应该作用于整数?)
我为double和float定义了defmethods来委托java.Math.round,在各个整数类上充当恒等函数,委托到java.math.BigDecimal#round,并将Ratio转换为double或BigDecimal然后进行四舍五入。