From: Tadayoshi Funaba Date: 2008-03-25T20:15:18+09:00 Subject: [ruby-dev:34129] Re: rational.rb, complex.rb and mathn.rb > 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 は / の置き換えなどと一緒 に提供されています、これは不可分な関係である、ということでしょうか。 > 私からいうのも何なんですが, ありがとうございました. 恐縮です。