From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?=) Date: 2002-04-02T16:16:04+09:00 Subject: [ruby-dev:16715] Re: if Re: BigFloat けいじゅ@日本ラショナルソフトウェアです. 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 <<---