Clojure で Clojure BigInt と Java BigInteger をいつ使用するかについてのガイダンスを探しています。どちらも問題なく動作します。BigInt を使用する主な理由は、Java インスタンス メソッドand などを介してアクセスする必要がある+
and などの演算子を利用するためだと思います。しかし、 BigInteger からしかアクセスできないなどの演算子はほとんどありません。=
.add
.equals
isProbablePrime
BigInt から BigInteger に、またはその逆に移行するのは非常に簡単に思えますが、両方が存在するため、ユースケースが不明確になります。私のお決まりの反応は、提案された使用法のいくつかが機能しないように見えるため、明確な基準がない場合は BigInteger に固執することです。ここのclojuredocsから:
user=> (def x (bigint 97))
user=> (.isProbablePrime x 1)
IllegalArgumentException No matching method found: isProbablePrime for class
clojure.lang.BigInt clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:53)