斎藤と申します。

On Mon, 28 Jul 2008 02:56:45 +0900
Yui NARUSE <redmine / ruby-lang.org> wrote:

> 現在の Ruby trunk では、FreeBSD 7 において、
> test/ruby/test_math.rb は以下のように失敗します。
(snip)
>   1) Failure:
> test_atanh(TestMath) [test/ruby/test_math.rb:97]:
> <[Errno::EDOM, Errno::ERANGE]> exception expected but none was thrown.

参考になるか分かりませんが、C99規格(JIS X3010)でも、atanh(1) or atanh(-1) に
ついては「値域エラーが発生する『ことがある』」としか書いておらず、ERANGEがセットされる
保証はないようです。

>   2) Failure:
> test_log(TestMath) [test/ruby/test_math.rb:113]:
> <[Errno::EDOM, Errno::ERANGE]> exception expected but none was thrown.

このlog(0)についても、

>   3) Failure:
> test_log10(TestMath) [test/ruby/test_math.rb:129]:
> <[Errno::EDOM, Errno::ERANGE]> exception expected but none was thrown.

このlog10(0)についても、

>   4) Failure:
> test_log2(TestMath) [test/ruby/test_math.rb:121]:
> <[Errno::EDOM, Errno::ERANGE]> exception expected but none was thrown.

このlog2(0)についても、いずれも同様の「発生する『ことがある』」という記述です。

> 例えば、NetBSD4 だと atanh のマニュアルには以下のようにあり、
> atanh(1) は NaN となります。
(snip)
> しかし、FreeBSD7 では以下のようになっており、atanh(1) は infinity を返します。

テストを見ると、返り値は関係ないと思いますが、どうでしょうか。

--
斎藤ただし