原です。

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 も正木法にするのは確定でしょうが、近岡さんが示した
再帰を使わない方法もアリかもしれません。確かに分かり辛いで
すが証明もあるのでメンテナンスも必要ないと言えるかも。