gpt4 book ai didi

clojure - 为什么 Clojure rationals 优先使用 Java `BigInteger` 而不是 Clojure `BigInt`?

转载 作者:行者123 更新时间:2023-12-01 23:56:34 26 4
gpt4 key购买 nike

Clojure 发现将 Java BigInteger 包装在它自己的 BigInt 类中是值得的,该类使用足够大的普通 long:因此在 BigInt 的小实例上加速显着的算术,代价是在大实例上略微减慢算术。

  • 难道同样的论点不适用于整数的比率吗?
  • 为什么 Clojure 对其 Ratio 类型使用裸 Java BigInteger,而不是将它们包装在 BigInt 中?

最佳答案

Ratio 早于 BigInt

如果我没记错的话,引入了 BigInt 以便通过将 N 附加到(整数)数字文字来“请求一个框”(以获得任意精度算术)不会导致太多的性能损失。调整 Ratio 可能不是一个高优先级。事实上,我根本不记得出现过这个主题——而且我并不感到惊讶,Ratio 无论如何都不是关于顶级算术性能的。

不过,也许某天某些富有冒险精神的程序员会重写它以使用 BigInt

关于clojure - 为什么 Clojure rationals 优先使用 Java `BigInteger` 而不是 Clojure `BigInt`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23371922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com