From: keiju@... (Keiju ISHITSUKA) Date: 1999-02-24T19:34:37+09:00 Subject: [ruby-dev:5621] Re: compare to NaN (Re: Re: call for finite/isnan testers) けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :5602 ] the message: "[ruby-dev:5602] Re: compare to NaN (Re: Re: call for finite/isnan testers) ", on Feb/24 17:42(JST) EGUCHI Osamu writes: >えぐち@エスアンドイー です。 >keiju> うーん. 最初っからそういう世界でしたか(^^;;; そういうお方は尊敬しちゃ >keiju> うなあ(^^;;; > >「最初」は、制御盤の組立工です、で隣の検査課の >修理を見てったら、『自分の方が早く直せる』と思い、 >部内トラバーユしたら、設計に抜擢されて、、うにゅうにゅ >という感じなのでした。 うーん. 確かに大部仕事が変わりましたねぇ(^^;;; >keiju> 確かにそっちの方がシンプルですね. > >効率悪そうですが。 (^^;; >バグある以外は、ある程度効率はあげるようですが、 >別出の非割算バージョンの魅力と優雅さには達打ちできません。^^;; あ. あれですね. 最初効率が疑問でしたが, 良く考えたら良いことが分かりま した. >keiju> これ別のスレッドで議論していますね. 参加して下さい(__;;; > >数学論的な議論なので、意見の基盤に対する知識の >絶対量が不足してるのですが ^^;;; >『使い勝手論』的な観点からの参加になりますでしょう ;p 基本はそれで良いと思うんですけどね. >keiju> 値っていうのが微妙ですね. > >そうですか? > > float の変数 f を double の変数 d に代入し、 > d を f に代入した場合、f の値は不変 > >程度の意味なんですが。 ええ. そっちはいいんです. >keiju> double/floatはフォーマット上も完全上位互換になっているのでいいんですが. >keiju> Float => Rational では, 値以外にも正確な値であるという情報が付加されて >keiju> しまいます. そこが気になるんですね. こんな感じで, 値だけで云々はできないかなと >keiju> あとは, 原先生とごとけん先生のスレッドに加わって下さい. >keiju> # 恐いですけど(^^;;; > >うぅん、無限大と非数あたりが私の限界です。 >精度と変換の話は、、、高度過ぎ ^^;; (^^;;; >keiju> そうですね. 四則演算だけなら正直いってRationalがあるし, Bigfloatはあま >keiju> り必要はないと思います. > >1/3 を正確に表せると言う点だけで、Bigfloat の負けですね ^^;; >効率は、、Cで書けば互角かな? いや. Bigfloatの方が良いでしょう(同じ数大きさであれば). >keiju> そういえば, Floatを抽象クラスにするって案があったけどどうなったんでしょ >keiju> う?? これもごとけんさんがやっていたかな? > >これって、いわゆる Real ぢゃないんでしたよね。 ごとけんさんがLargeFloatだかなんだか作ったとかなんかでそういう話しが出 ていたような... >IEEE754 の実装を表すクラスってのと分離が必要な >時期に来たようですね(Ruby2 がですよ) そうかも知れませんね. >keiju> 確かそうだと思ったんですが, そうであればFloatのメソッドとすれば良さそ >keiju> うですね. それか, モジュールとして実装するか. > >モジュールが良いのでは? >この手のは、Cで書いてもご利益ないので >.rb なライブラリですね。 そうですか? sinとかlogとかはCの方が... >keiju> なんか, 文字列に足したり引いたりしているだけって感じがしたものですから >keiju> (^^;;; > > ( / PI 4) > ( sin ( / PI 4) ) > ( + ( sin ( / PI 4) ) 2 ) > ( - ( + ( sin ( / PI 4) ) 2 ) 2 ) > ( sin ( / PI 4) ) <= 相殺 > >なイメージでした。 (^^;;; 深いことが書かれていたんですね... >keiju> >keiju> > puts a += 2 => 2.7071067812 >keiju> >keiju> > puts a -= 2 => 0.7071067812 これらなんか, 末尾に "+2"をつけたり引いたりしているかと思っていました (^^;;; >keiju> >keiju> 私のイメージは, 構文木を直接操作するイメージでした. >keiju> > >keiju> >あ、ruby の node って、その構文木の節の事です。 >keiju> >Proc などは、かなりこれに近い気がします。 >keiju> >keiju> これと上の操作って違いがあるよな?? > >あります、ありありです。 > >parse をいじってリテラルの node を >数値文字列で保持し直すような企みを >持っていたのです。 > >これは、n進数リテラルや任意進数浮動小数の >実装の検討の過程での副産物なので、その説明が >ないと意味が全然わかりませんね。^^;;;; ああ. なるほどね. >keiju> >keiju> 知っているのは積分のことだけですが, >keiju> >keiju> 昔はパターンマッチが主流だったけど, >keiju> >keiju> 最近は変わってきていると聞いた覚えがあります. >keiju> >私は、実際の処理系に殆んど触れた事がないので、もとより >keiju> >想像するしかないですが、チェスの終盤の総当たり戦の >keiju> >イメージでした。 >keiju> 違うみたいですよ. > >ぜんぜん違うみたいですね。 >と言う事は、この方法には新規性あり? というか, 昔はこういうものだったと思います. >keiju> うーん. ちょっと違うような... > >eRuby は、書類埋め込みのスクリプトで >私の考えているのは、スクリプト埋め込みの >数理処理系なので、立場が逆ですね。 ですね. >#『融合すると融合されるは同じなんだ』 >#(捕食すると捕食されるは同じなんだ、のもじり) (^^;;; __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---