From: Masahiro TANAKA Date: 2008-04-12T22:53:19+09:00 Subject: [ruby-dev:34360] Re: fw: Bug in ruby complex module |From: Yukihiro Matsumoto > 見落としてましたが、昨年末に「Complexの除算にバグがある」と > いうメールがruby-coreに来てました。[ruby-talk:285292] > > 現状のC組み込みのcomplexでも同様の「問題」があります。ただ、 > 私にはこれが本当に問題なのかどうか判断できませんので、意見を > 聴かせてください。 このアルゴリズムはGSLとほぼ同じであり、 浮動小数点数であればこのような対処は必要です。 #先日の村田さんのコードでは、もっと複雑なことをしているようですが。 ただし、このパッチはabsメソッドの中でsqrt演算をしており、そこでFloatに変換されるので、 Floatでない数値クラスにとっては逆に迷惑でしょう。 このことも、doubleに特化したComplexクラスが必要という理由の1つです。 それはさておいて、 http://na-inet.jp/nasoft/chap05.pdf に書いてあるアルゴリズムであれば、四則演算のみを使っており、 かつこの問題は軽減できます。 田中昌宏