请分享您的想法,参与 2024年Clojure调查!

欢迎!请参阅关于页面了解该工作方式的更多信息。

0投票
Java互操作

user=> (/ Long/MIN_VALUE -1) -9223372036854775808

与CLJ-1222类似的问题,其根本原因与CLJ-1225中描述的原因相同。

2个答案

0投票

评论者:jafingerhut

Patch clj-1253-1.txt修复了LongOps方法在参数为Long/MIN_VALUE和-1时的除法。在这种情况下,它返回一个BigInt而不是Long,但是大多数其他传递给此函数的值对的值都返回一个精确的Ratio答案,因此在这种情况下返回BigInt精确答案似乎合理,当它不会适合在Long中。

0投票
参考文献:https://clojure.atlassian.net/browse/CLJ-1253(由jafingerhut报告)
...