Hi,

In message "Re: [ruby-core:26465] [Bug #2189] Math.atanh(1) & Math.atanh(-1) should not raise an error"
    on Sun, 1 Nov 2009 12:54:45 +0900, Marc-Andre Lafortune <redmine / ruby-lang.org> writes:

|> So we follow SUSv3, which defines atanh(x) as "If x is ¡Þ1, a pole error shall occur, (...)"
|> And make atanh raise Errno::EDOM or Errno::ERANGE.
|
|This appears to be inexact, as Ruby does not follow SUSv3 faithfully.
|
|First, SUSv3 clearly distinguishes between what it calls "domain errors", "range errors" and "pole errors". Pole errors are distinct errors and are neither a "domain error" nor a "range error". Returning "Errno::EDOM: Numerical argument out of domain" in a "pole error" situation is in contradiction of SUSv3.

Forgive my ignorance but what is a pole error in practical UNIX
programing sense.  On my Linux box, atanh document only describes EDOM
to be raised.  Does that mean, atanh on Linux not following SUSv3?
In that case, when underlying Linux does not, should we?

							matz.