From: keiju@... (Keiju ISHITSUKA) Date: 1998-03-11T14:20:22+09:00 Subject: [ruby-dev:1681] Re: [ruby-list:7066] Re: infinity けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :01664 ] the message: "[ruby-dev:1664] Re: [ruby-list:7066] Re: infinity ", on Mar/11 11:01(JST) Kazuhisa YANAGAWA writes: >> >> とすれば今のままで, 表現をちゃんとした対応を行なった方が良さそうですね. >> >> # Math.exp(inf)以外はちゃんとした結果になっているところがこわい... >> >> と思いましたが, ちゃんとしていませんでした. > (略) >> どうなっているんだ... > > まあ数学的にいったら無限大同士や数値と非数値との比較なんてのはできる > べきではないのでいいんじゃないでしょうか (^^? この場合は, Float::Infの話しなので比較はできるんでしょう(^^;;; > # 二つの無限大が同値であるか否かなんていうのは不毛. 数値 != NaN はで > # きなきゃいけないけど. ただ, 数学的な(解析学的な)無限大を扱うとなると, 確かに簡単に比較できる ものじゃないですよね... >> >> そうですね. RealがあるならRealが良いですが, きっとRealは採用されること >> >> はないでしょう(^^;;; >> > いまから突っ込むのはちょっと辛いでしょうね.... >> >> 辛くないと思いますが, 今のところ, カテゴリ分けのためのクラスになって機 >> 能的にはほとんど意味のないクラスになりますので... > > 無理に意味をつけてみるとか (^^; もっともほとんどのものは Numeric で > 定義されていますしね. 確かに, 今の状態は, Numeric いやまあそうなんですが, ここでいう「整数で」っていうのはハードウェア > レベルの話だったりします. たとえば R3000 なんかだと, 正整数の演算で > 0xffffffff に 0x00000001 を足すと(エラーも出さずに)0x00000000 にな > る, と. IEEE の規格が数値表現だけでなくて演算結果まで規定しているの > なら別ですが, そうでなかったら結果がどうなるかはわからない. あ. なるほどそういういみでしたか. > はい範囲を超えた場合をオーバフローといっています. ただし結果が Inf > になるかどうかはわたしは知らない, と. > # 実はちゃんと規定されているような気もする.... 正確な規格ですね. 感じではそうなっているみたいですけどね(^^;;; >> まあ, そうなんですが, そういう使い方を考えるとFloat::Infは気分が... > > Complex のことは気にしないことにして, Numeric に入れてしまうという手 > はありますが, それはそれで気持ち悪い.... (^^;;;; ここはやっぱりRealを入れてもらうしかないかな? > 以下は余談. > 数値計算ではどうせ誤差がたまってくるのだから, たいして問題にはならな > い, という主張のようでした. まあ数値計算の本を書いているぐらいだから, > きっとちゃんと考えているんだと思います. うーん. なるほど. 深い考えだ... >> 0/0とかはどうなるんでしょうね? やはりNaNのような... > > 「でもそれは数ではない」と. 例外を出しておしまい. 素晴らしい, 例外でも良いんですね. __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---