けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :16575 ] the message: "[ruby-dev:16575] Re: if Re:
BigFloat ", on Mar/24 23:17(JST) 石塚圭樹 writes:

>>> うぅむ。そんなのもありましたか。
>>> あと、Complex との演算もかな。
>>
>> Complex 対応については Complex 側で対応するのがいいでしょうね。
>>
>> また、先の Rational との演算も、 BigFloat でなく Rational 側で
>>相手の BigFloat の precision を見ながら自身を変換して演算する方が
>>いいんじゃないかと思い直しました。
>
>Complex/Rationalとも考えてみましょう.

考えるといってなんですが... Complex op BigFloat はComplex側で対応するの
はよいとして、Rational op BigFloat は BigFloat側で対応すべきと思います.

というのも,

  Rational op BigFloat -> BigFloat

になるので, RationalがBigFloatの生成を知っているというのはおかしいと思う
からです.

ただ, BigFloatからみてもrational.rbを読み込んでもいないのに, Rationalの
対応のコードが入っているのも変なので,

  bigfloat-rational.rb

のような相互変換のためのメソッドを集めたファイルを別に用意したらどうかと
思います。で, bigfloat側はrequireされたときにrationalが既に読み込まれて
いたら bigloat-rational.rb を読み込み、逆にrationalがrequireされたときに、
既にbigfloatが読み込まれていたらbigloat-rational.rbを読み込むと.

ところで, クラス名の件ですが, BigFloatはあまり良くないのではないかと, 小
林さんの言われるように,

  BigDecimal

とかのほうがよいのでは? BigFloatはFloatと変換上完全上位互換のある2進系の
数であって欲しいです.

__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju / rational.com <<---