原です。 In [ruby-math:00966] >近岡です。 >isqrtの組込みに関して意見を述べさせてください。 >組込みを前提とした場合、私の意見は、次の2点です。 > >1.FIXNUM用とBIGNUM用の2つに分ける > >2a.FIXNUM用は通常のNewton法にする。 >2b.BIGNUM用は改良型の”正木法”にする。 > [ruby-math:00943]+[ruby-math:00954]の > 再帰呼び出しをするタイプ 同意します。Fixnum と Bignum で同じアルゴリズムである必要は 全然ないので、必要に応じてわけましょう。 Fixnum もいくつかの候補のベンチマークを取ってみるべきですね。 Bignum も正木法にするのは確定でしょうが、近岡さんが示した 再帰を使わない方法もアリかもしれません。確かに分かり辛いで すが証明もあるのでメンテナンスも必要ないと言えるかも。