From: KUBO Takehiro Date: 2010-08-24T14:47:26+09:00 Subject: [ruby-dev:42124] Re: Math::atan2(0, 0) on ruby 1.9.2 久保です。 2010/8/24 Kenta Murata : > むらたです。 > > On 2010/08/24, at 13:44, KUBO Takehiro wrote: > >> * JRuby 側とも Math の挙動を合わせるやすくなる。 >> プラットフォームによる動作の違いを解消するために atan2() の挙動が統一 >> されたわけですが、ここでいうプラットフォームに MRI のみならず JRuby も >> 含めて考えると、Java と合わせたほうが JRuby 側は助かるでしょう。 >> JRuby の立場で考えると Java の数学関数と JRuby の数学関数の結果 >> が違うと困ったことになりそうですし。 > > > Ruby の実装は CRuby と JRuby だけではなくて、 > IronRuby、Rubinius、MacRuby など他にも存在しています。 > ですから、JRuby を持ち出すのなら他の処理系も同列に扱ったほうが良いと思います。 > > 私は、他の処理系の実装について特に気にする必要は無いと思っていますが。 ええと、無条件に Java に合わせようと思っているわけではないので、Java と SUSv3 に矛盾があったときに個別に考えましょう。 目的としては「エラーのインターフェイスが真似できる」がメインで、「JRuby 側とも Math の挙動を合わせるやすくなる」のほうは補足材料として書いた程度なので。 あと、IronRuby はともかく、Rubinius は libm に丸投げ、MacRuby も多分丸投げな ので、同列に扱おうとしても扱えないのではないかと。