えぐち@エスアンドイー です。

>>> In message [ruby-math:00048] Re: NaN
    On Sat, 15 Jan 2000 22:02:15 +0900 (JST), gotoken / math.sci.hokudai.ac.jp (GOTO Kentaro) said:

ご> ごとけんです
ご> 
ご> In message "[ruby-math:00046] NaN"
ご>     on 00/01/15, "Shigeo Kobayashi" <shigeo / tinyforest.gr.jp> writes:
ご> 
ご> >以下の結果は正しいのでしょうか?
ご> >
ご> >p a=0.0/0.0   #  ==> -1.#IND
ご> >
ご> >私は、"NaN"と表示されることを期待したのですが?

こまった、結果になっていますね。
わたしも、 "NaN" が正しいと思います。

  % ruby -ve 'p 0.0/0.0'
  ruby 1.5.0 (2000-01-08) [i386-freebsd3.4]
  NaN

ご> >因みに、こちらはWindowsNT+VC++6.0の
ご> >環境で、Ruby 1.4.3です。
ご> 
ご> おろ、VCではisnan()は float.h の _isnan() を使うんじゃなかっ
ご> たでしたっけ…どうだったか覚えてます?? > えぐちさん方面 ^^;;

Date: Tue, 2 Feb 1999 20:42:53 +0900
From: gotoken / math.sci.hokudai.ac.jp (GOTO Kentaro)
Subject: [ruby-dev:4603] call for finite/isnan testers

	を先頭とするスレッドの、

Date: Fri, 5 Feb 1999 18:07:28 +0900
From: Koji Oda <oda / bsd1.qnes.nec.co.jp>
Reply-To: ruby-dev / netlab.co.jp
Subject: [ruby-dev:4738] Re: call for finite/isnan testers

	で

>  VC では、math.h ではなく、float.h にあるみたいです。
>
>  #include "stdafx.h"
>  #include <stdio.h>
>  #include <float.h>
>  main()
>  {
>      printf(_isnan(0)?"YES ":"NO ");
>      printf(_finite(0)?"YES ":"NO ");
>  //    printf(_isnan(1e999)?"YES ":"NO ");
>  //    printf(_finite(1e999)?"YES ":"NO ");
>      printf("\n");
>	  return 0;
>  }
>
>  結果は、
>  NO YES
>
>  でした。

と言う物があります。

[ruby-dev:4617], [ruby-dev:4738], [ruby-dev:4740], [ruby-dev:4744],
[ruby-dev:4750], [ruby-dev:4755], [ruby-dev:4777]...と続いています。

最終的には、
Date: Mon, 8 Feb 1999 22:00:45 +0900
From: gotoken / math.sci.hokudai.ac.jp (GOTO Kentaro)
Reply-To: ruby-dev / netlab.co.jp
Subject: [ruby-dev:4841] Re: call for finite/isnan testers

|結局 VC では 1.0/0.0 と 0.0/0.0 で  Inf と NaN を
|生成でき,_finite() と _isnan() は正しくこれを評価する
|ことが分かりました.ただし,1.0/0.0 や 0.0/0.0 は
|一旦変数に格納して演算し,コンパイラの定数チェックを
|ごまかす必要はあります.

と言うのが結論のようです。

missing/isnan.c の実装は、isnan() に対して double_ne() を
前方参照にすることで、インライン展開を抑止して、

	n != n ⇒ false 

という WATCOM C の実現上の誤解(バグ?)を避けていました
が VC には、前方参照なプロシージャをインライン展開する
能力があるのでしょうか?

isnan.c から生成されたアセンブラソースではどうでしょうは?>小林さん

	えぐち