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

In [ruby-dev :16779 ] the message: "[ruby-dev:16779] Re: if Re:
BigFloat ", on Apr/08 03:22(JST) "Akinori MUSHA" writes:

> BigDecimal と名前を変えて src/rough/ext/bigdecimal に入れ、
>さっそくいじっています。リリースや 1.7 の BigFloat を置き換える
>タイミングについては、小林さんと相談して決めたいと思います。

了解しました.

>> > 確かに仰るとおりですね。BigFloat 側で対応します。
>> 
>> お願いします.
>
> 先ほど、 Rational 対応を実装しました。
>
> coerce では同精度の BigDecimal に変換し、加減・剰余算も精度を
>揃えて演算します。乗除算については分母・分子を取り出し、掛けて
>から割ります。
>
> Rational 側では、乗除算だけ同様の処理をするようにして頂くと、
>BigDecimal がレシーバのときに比べて精度が落ちなくなると思います。

BigDecimalがレシーバの時はBigDecimalのメソッドが呼ばれるので, Rational側
でなんかしなくてはいけないってことはないと思うのですが? きっと,
Rationalがレシーバの時ですよね? 

で,

  rat * bigdec -> rat.分子 * bigdec / rat.分母

と計算すればよいってことね?

> Complex は、 Complex.generic? に BigDecimal を教えておけば、
>あとは BigDecimal が各種数学関数を覚えればいいということのよう
>ですね。

えー. 多分そうですが, 細かいところを今検討中ですので, しばらくお待ち下さ
い.

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