From: Tadayoshi Funaba Date: 2008-12-13T11:25:51+09:00 Subject: [ruby-dev:37416] Re: Math and NaN > |他の言語に比べて方針が判り難いというか、よく判らなかったんですが、その > |あたりの方針があれば知りたいです。 > > 正直なところ、あんまり考えてなかった、ということですね。 > どうするのが望ましいと言うのがあればお伺いしたいです。 どういうのが望ましいのか判りませんが、中途半端な感じがします。 NaN になってもそのまま放置してる処理系がかなり多いと思います。ruby ライ ブラリでも一切手出ししない、という考えもあり得たと思います。 たとえば、Python では、それを Python の例外に当てていく、ということをし ているのだと思いますが、そういう考えだと、言語レベルで sqrt(-1) や sin(Inf) がエラーになる、のじゃないでしょうか。ruby でも一部はたしかに そうなっていると思います。 sin(Inf) で NaN が返るのは、定義域外であるからで、Python ではエラーにな りますし、Common Lisp は標準では無限大などないですが、拡張として無限大 のある cmucl や sbcl でも同じです (トラップを解除することも出来ますが)。