From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1999-03-06T18:43:15+09:00 Subject: [ruby-dev:6044] Re: Bigfloat [compare to NaN] けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :5966 ] the message: "[ruby-dev:5966] Re: Bigfloat [compare to NaN] ", on Mar/04 14:05(JST) EGUCHI Osamu writes: >えぐち@エスアンドイー です。 >keiju> だんだんメイルが溜ってきた(^^;;; > >フロー制御の閾値の選択が、むつかしいですね ^^;;; ですね. えぐちさんのメイルだいぶ捨ててしまいました(__;;; >Bigfloat でも加算などで、結果の有効数字を指定できると、 >計算の中間精度を妥当なところで、見切ってしまえるので、 >速度面で(特定の場面ではメモリ使用量でも)有効だと思います。 いちおう, coerceで精度の低い方に合わせるのでもおなじ効果がありますが... >ただ、演算子の引数を増やす術がないので、(ですよね) > > Bigfloat#add_with_prec(right, prec = @prec) > >のようなメソッドを、用意する必要があるのが難点です。 いや定義できるんですが. class Foo def +(other, prec) ... end end は定義できるんですが, 呼び出しがsendしかできないという何点があります (^^;;; foo.send :+, other, prec > low_prec(x, y) > >の様な引数で精度の小さい方の精度に、高い方の精度を >合わせる関数を用意するのも手ですが、使いにくそ ^^;;;; それならcoerceで自動的にやってくれた方が... >keiju> mpって四則演算だけですよね? それだったらあまり採用してもね... > >そうですね、四則の他は 2 ^ n, abs, sqrt や比較程度なので、 >スタートラインとしては、かなり厳しいかも知れない ^^;;; ですね. __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---