From: shugo@... (Shugo Maeda) Date: 1998-03-11T01:24:34+09:00 Subject: [ruby-list:7077] Re: MP [Re: infinity] 前田です。 In message "[ruby-list:7074] Re: MP [Re: infinity]" 石塚圭樹 wrote: |# でも, Float::Infの比較回りはBUGっているけど.. なぜかわかりました。 Rubyだと<=>で比較していますが、NaNなどの場合にはまずいですね。 static VALUE flo_cmp(x, y) VALUE x, y; { double a, b; ... if (a == b) return INT2FIX(0); if (a > b) return INT2FIX(1); return INT2FIX(-1); } これだと1 < NaN,1 == NaN,1 > NaNのすべてをfalseにするのは無理ですね。 演算ごとに全部定義するしかないのかな...。 -- 前田 修吾