From: EGUCHI Osamu Date: 1999-02-24T18:28:55+09:00 Subject: [ruby-dev:5614] Re: a genericity えぐち@エスアンドイー です。 >>> In message [ruby-dev:5606] Re: a genericity On Wed, 24 Feb 1999 18:11:46 +0900, keiju@rational.com (石塚圭樹 ) said: keiju> けいじゅ@日本ラショナルソフトウェアです. keiju> keiju> In [ruby-dev :5595 ] the message: "[ruby-dev:5595] Re: a genericity ", keiju> on Feb/24 16:53(JST) GOTO Kentaro writes: keiju> keiju> >ごとけんです ... keiju> >Mathematica において数同士の演算における精度の扱いはやや keiju> >複雑で,一旦充分な高精度で行って,その後オペランドの精度 keiju> >と比較し精度を確定しているようです.ただし,オペランドに keiju> >機械精度がふくまれるときは全てを機械精度で行います. keiju> >Ruby の String における taint に近い考え方です. keiju> > keiju> >例: keiju> > keiju> > Precision[0.12345678901234567890] ==> 19 keiju> > Precision[Pi + 0.12345678901234567890] ==> 21 keiju> > Precision[Pi + 0.1] ==> 16 keiju> > keiju> >なかなかに考えられた定義だと思います. keiju> keiju> 10.0 + 1e-32 keiju> Precision[10.0 + 1e-32] keiju> keiju> とかはどうなるんですかね? 10.0と16? keiju> keiju> なんとなく, 江口さんの(理想の)bigfloatのイメージに keiju> 近いかなって気がしています. 限りなく近いです (^^) これ Ruby 的な表現に変えた上で、いただき ぢゃまずいでしょうか? keiju> 今出ている案と全然違っていますが, keiju> このモデルをそのままBigfloatに入れてもよいような気がしてきました. keiju> keiju> # こうなるとbigfloatは, prec情報をインスタンスが持つ必要が出てきますね. 最初に戻って来たようにも思えますが、 既に検討した事なので、実装に反映しやすいでしょう。 keiju> # 条件としてはBASEを2にする必要がありますが. もとより、Cで書く時はそのつもりでした。 あとは、prec情報 の表現形式ですね 2 ^ n で良いのかな? えぐち