From: Tadayoshi Funaba Date: 2011-06-14T20:37:09+09:00 Subject: [ruby-dev:43803] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか > これに相当する事をやっているのが complex.rb なので、 > Ruby では上記に相当する処理をやりたければ require "complex" することにして、 > complex.rb の中で適切に関数を定義すれば良いと考えていました。 lib/complex.rb は互換のために残っているだけで推奨されません。 こちらの立場から言えば、CMath は制限を取り除いた、あるいは取り除こうと している Math の代替版というところですかね。 実際、これらは include してつかうことも想定され、一揃えの物として扱われ るわけで、これは複素数に対応できた、できないで分けるとか、併用するとい うのは、なくはないけど、最初からそれを利用者に要求するのはどうなのかな。 lib/cmath.rb をつかっていても、その呼び出しの全てで複素数が活躍している とは限らないわけですよね。CMath に hypot がないのは、複素数のために拡張 しようがなかったからだとしても、実際に利用者は、実数を与え、実数を得る かたちでしか、sin なんかを使っていないかもしれないじゃないですか。利用 者にその区別をさせる必要があるんでしょうか。