> rational.c の中に gcd 実際にはあるわけですよね? それを使えるようにした
> ら良いと思うのですが? つまり, ruby本体に吸収ってことですが. 

それでもよいと思います。

> >  Math を複素数対応版で置き換えてしまいます。
> >  基本的には、今ある石塚版を C に直して math.c に反映させるだけです。
> >  もちろん、もっと効率や精度面で、優れたものがあれば、それをつかっても
> >  いいです。
> 
> これはこれで良い気がします.
> 
> ただ, 今までの互換性が気にならないわけでもないですが, 今まで例外が起こっ
> ていた場面でComplexが帰ってくることになりますので... 互換モードにする
> 何かを用意した方が良いかも.

Math.fsin のようなのを作って、require 'fmath' とかすると Math.sin が
fsin で置き換えられるような?

> >lib/mathn.rb は残してもいい。
> >
> >  けど、中身は、require 'matrix' と / の置き換えと Unify の定義だけに
> >  します。** や sqrt の再定義は、意義だけ汲み取って捨てます。
> >  Prime は残したければ、  lib/prime.rb (?) などに置きます。
> >  ruby -m を新設すれば、lib/mathn.rb もいらないかもしれません。
> 
> できれば, このまま残しておいて欲しいなぁ. 問題があるというか中途半端な
> ところがあるのは認めます. これはこれで頑張るということで.

このまま、ということは、** や sqrt もそのまま、Prime 関連もそのまま、と
いうことですよね。

石塚さんが、頑張るべきところがあるなら、それでいいのかもしれませんが、
少し確認させてください。

おそらく、** や sqrt で、ruby 本体では提供できない何かがある、というこ
とですよね。それはどんなもので、何故、ruby 本体では提供できないのでしょ
うか。

matrix は、それを単体で利用できますが、Prime は / の置き換えなどと一緒
に提供されています、これは不可分な関係である、ということでしょうか。

> 私からいうのも何なんですが, ありがとうございました.

恐縮です。