From: Kenta Murata Date: 2008-04-12T23:00:22+09:00 Subject: [ruby-dev:34361] Re: fw: Bug in ruby complex module むらたです. 2008/4/12 Yukihiro Matsumoto : > まつもと ゆきひろです > > 見落としてましたが、昨年末に「Complexの除算にバグがある」と > いうメールがruby-coreに来てました。[ruby-talk:285292] > > 現状のC組み込みのcomplexでも同様の「問題」があります。ただ、 > 私にはこれが本当に問題なのかどうか判断できませんので、意見を > 聴かせてください。 絶対値が大きな浮動小数点数の乗算で分母が INF になり,その影響で 結果が NaN になっているものと思われます.私の ComplexFloat では C99 Draft に載っていた割り算の実装 (log でスケーリングする方法) を 使っているので,このような問題は起こりません.complex.c でも 成分が Float の時は同様の対応をする必要があると思います. muraken:~/src/ruby$ ./miniruby -e 'cc = ComplexFloat(Float::MAX/2, Float::MAX/2); p cc/cc' ComplexFloat(1.0, 0.0) -- Kenta Murata OpenPGP FP = FA26 35D7 4F98 3498 0810 E0D5 F213 966F E9EB 0BCC