From: gotoken@... (GOTO Kentaro) Date: 1999-02-01T08:35:08+09:00 Subject: [ruby-dev:4540] Re: Inf.0 ごとけんです In message "[ruby-dev:4525] Re: Inf.0" on 99/01/31, EGUCHI Osamu writes: >えぐち@エスアンドイー です。 >認めるとしても、 > > % ruby -e 'p 1e999 == 1e1000 ' > true > >は、見ためにも異常な挙動に思えますので。 あと,1e1000.to_i が無限ループになるという問題もあります. こっちはパッチつけときます. >Ruby ソースの parse 中の Inf の生成は > > エラーにする > ruby -c な時だけ警告する > >のどちらかがが良いと思います。 パースの段階では分からないと思います. > * to_s に NaN への対策が必要かも知れない。 > * Float::Inf が定義されてると、何かの役に立つかも知れない NaN や Inf を Float に認めるなら to_s も何もしないという のが僕の考えです.Inf.0 というのをヨシと思うのもそのため. あと, NaN や Inf っていつできて,どういうものかは実装依存 なんですよね,多分. うーん数値の実装はわずらわしい.というわけで, IEEE の浮動小数点数がどれくらいどのように実装されてるかの 調査隊募集!! -- gotoken --- bignum.c.orig Thu Jan 28 16:55:29 1999 +++ bignum.c Mon Feb 1 08:22:42 1999 @@ -398,0 +399,3 @@ + if (isinf(d)) + rb_raise(rb_eRuntimeError, "infinity can't be converted into `Integer'"); +