[#41918] [Feature #3647] Array#sample(n, replace=false) — Kenta Murata <redmine@...>

Feature #3647: Array#sample(n, replace=false)

11 messages 2010/08/03

[#41966] [Bug #3673] PTY.getpty with IO.pipe doesn't finish on FreeBSD — Yui NARUSE <redmine@...>

Bug #3673: PTY.getpty with IO.pipe doesn't finish on FreeBSD

9 messages 2010/08/10

[#41969] [Feature #3675] String#prepend, String#>> — Sora Harakami <redmine@...>

Feature #3675: String#prepend, String#>>

15 messages 2010/08/10
[#41976] Re: [Feature #3675] String#prepend, String#>> — Yukihiro Matsumoto <matz@...> 2010/08/10

まつもと ゆきひろです

[#41974] Re: [ruby-cvs:36157] Ruby:r28955 (trunk): * complex.c (nucomp_to_[ifr]): don't allow complex with in-exact — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

7 messages 2010/08/10

[#42003] WEBrickに関するセキュリティ修正 (CVE-2010-0541) — Hideki Yamane <henrich@...>

12 messages 2010/08/11

[#42090] Math::atan2(0, 0) on ruby 1.9.2 — KUBO Takehiro <kubo@...>

久保です。

18 messages 2010/08/22
[#42092] Re: Math::atan2(0, 0) on ruby 1.9.2 — Kenta Murata <muraken@...> 2010/08/22

むらたです。

[#42166] Ruby'sライセンスの、BSDLとのデュアルライセンスへの変更 — "NARUSE, Yui" <naruse@...>

Ruby's ライセンスは BSDL と Ruby's のデュアルライセンスになります。

14 messages 2010/08/31

[ruby-dev:42092] Re: Math::atan2(0, 0) on ruby 1.9.2

From: Kenta Murata <muraken@...>
Date: 2010-08-22 12:00:59 UTC
List: ruby-dev #42092
むらたです。

この変更を 1.9.2 へ適用したのは私です。

On 2010/08/22, at 17:59, KUBO Takehiro wrote:

> 久保です。
> 
> ruby 1.9.2 では Math::atan2(0, 0) が例外を上げるように変更されています
> が、元に戻したほうが良くありませんか?

久保さんが気にされている事柄も含め、半年ほど前に
[ruby-core:28206] Is Math module a wrapper of libm? で議論されています。

[ruby-core:28206] から始まるスレッドの最大の収穫は、
Math の挙動をプラットフォーム非依存にできたことでした。
私が [ruby-core:28286] で提示した patch が現在の挙動のベースになっています。
いま読み返すと、久保さんが言及されている atan2 の挙動はしっかり
"needs more discussions" と注記されていました。

問題の挙動も含め、[ruby-core:28302] で Marc-Andre が final answer を
求めましたが特に反論は出ず、1.9.2 の挙動として採用された次第です。

このような背景がありますので私は現在の挙動を変更することには積極的になれません。
しかし、仮に現在の挙動を変更したい場合に何をすべきかを考えると、

On 2010/08/22, at 17:59, KUBO Takehiro wrote:

> 最近のシステムでは atan2(0, 0) の戻り値が実装依存ではなくなってきてお
> り、また、"errno may be set to [EDOM]." という記述も消えているので、
> Math::atan2(0, 0) で引数が両方とも 0 ならば Math::DomainError を上げる
> というのは止めたほうが良いと思うのですが、どうでしょうか?


この引用で久保さんが仰っている "最近のシステム" に含まれない環境をどう扱うべきかまで含め、
久保さんが適切だと考える patch を御自身で作成し、それを提案して頂けると議論を開始できると思います。

事の発端は ruby-core だったので、patch の提案などの続きはそちらで行うほうが良いかもしれません。

--
Kenta Murata
OpenPGP FP = 1D69 ADDE 081C 9CC2 2E54  98C1 CEFE 8AFB 6081 B062

本を書きました!!
『Ruby 逆引きレシピ』 http://www.amazon.co.jp/dp/4798119881/mrkn-22

E-mail: mrkn@mrkn.jp
twitter: http://twitter.com/mrkn/
blog: http://d.hatena.ne.jp/mrkn/


In This Thread