In message <199803091741.CAA05774.keiju / cupmail0.rational.com>
keiju / rational.com (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) writes:

> >Float::INFINITY
> >Float::NaN

  どうせなら Numeric.... と思ったら Complex < Numeric だった. それじゃ
  実数で.... と思ったら実は ruby には実数の Bignum は無かった (^^;

  # 普通無いか. でもはじめて知った.

> そのようなC的な(?)方法もありますが, クラスを導入するのも1つの手かと思
> います.
  (略)
> または, 上記の数の大小関係(演算関係)を適当につけて,
> 
>   +0 * +∞ == +0
>   +∞ + -∞ == +0
>   0 == +0
> 
> などとすればいらなくなるかな?

  謎の定義を与えると謎のバグに悩まされそうな. 少なくとも +0|-0 を無限
  小の意味で使うのだとすると -0 = 0 = +0 では「いけません」よね?

> むりせずNanかなあ... Nanが一番強い数になるのが気に入りませんが...

  考え方でしょうね. IEEE の浮動小数点数表現での無限大/無限小/非数値を
  表すのなら Float の定数であるべきで, NaN も存在するべきでしょう. 多
  分. 存在しているからにはそれを使っていることもあり得るわけで.

  # 実装はめちゃくちゃ簡単だし.

  一般に数値の話をするんだと.... どうなるんでしょうか? クラスが存在す
  るのは便利そうですが. そもそも無限大/無限小との演算の意味を考えなく
  ちゃならない. 足し算, 引き算, 掛け算はどうにでもなるとして, 割算です
  か. まさかまじめに極限を計算するわけにもいくまいし.

  # NaN については学部の時の先生が「数値表現といっているのに数値じゃな
  # いものが入っているなんて, 気持ち悪い」といってましたが (^^;

===========================================================================
  柳川 @ 情報システム学研究科 . 電気通信大学
  katze / yuba.is.uec.ac.jp                             March 10, 1998
It is never late to mend.