Math \$B%b%8%e!<%[email protected](B(was: Math::atan2(0, 0) on ruby 1.9.2)

e\$B5WJ]\$G\$9!#e(B

Mathe\$B%b%8%e!<%[email protected]\$ND4::\$G\$9!#D4::\$N=gHV\$Oe(B math.c
e\$B\$GDj5A\$5\$le(B
e\$B\$F\$\$\$k=g=x\$G!“A4e(B26e\$B8D\$N4X?t\$N\$&\$A!”:G=i\$Ne(B7e\$B8D\$N\$_D4::\$7\$^\$7\$?!#;D\$j\$Ne(B19
e\$B8D\$K\$D\$\$\$F\$O\$f\$C\$/\$je(B(e\$B=5\$K0l2s\$0\$i\$\$!)e(B)e\$BD4\$Y\$F\$\$\$-\$^\$9!#e(B

3,
4e\$B2s8+D>\$7\$?\$1\$I!"\$=\$N\$?\$S\$K4V0c\$\$\$,8+IU\$+\$k\$N\$G!"\$^[email protected]\$\$\$,;D\$C\$Fe(B
[email protected]\$,\$"\$j\$^\$9!#e(Bm(__)m

e\$B%A%’%C%/9`L\$O0J2<\$Ne(B2e\$B\$D!#e(B

(1) SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

libm e\$B\$,%*%W%7%g%s\$NF0:ne(B(*1)e\$B\$b4^\$a\$Fe(B SUSv3
e\$B\$K=`5r\$7\$F\$\$\$k\$H2>Dj\$7e(B
e\$B\$?>e\$G!"e(B1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49\$r%A%’%C%/!#e(B

*1 SUSv3 e\$B\$N;EMM=q\$Ne(B [MX]|X> e\$B\$He(B <X| e\$B\$G0O\$^\$l\$?ItJ,e(B

(2) trunk e\$B\$G\$N%W%i%C%H%U%)!<%`4V\$NHs8_49\$N2DG[email protected](B

trunk
e\$B\$G\$O?t3X4X?t\$r8F\$VA0\$KHO0O%A%’%C%/\$r9T\$J\$C\$F\$\$\$k!#HO0O%A%’%Ce(B
e\$B%/\$rDL\$C\$?8e\$K%W%i%C%H%U%)!<%`0MB8\$NF0:n\$r5/[email protected]\$N\$"\$k2U=j\$re(B
e\$B%A%’%C%/\$7\$?!#6qBNE*\$K\$O!"e(BSUSv3
e\$B\$G%*%W%7%g%s\$NF0:n\$H\$5\$l\$F\$\$\$kItJ,e(B
e\$B\$H!"e(BSUSv2 e\$B\$Ge(B either … or …
e\$B\$H=q\$+\$l\$F\$\$\$kItJ,\$G\$9!#e(B

[email protected]!W\$N%A%’%C%/\$G\$"\$C\$F!#<B:]\$K%W%i%C%H%U%)!<%`0Me(B
e\$BB8\$,\$"\$k\$+\$I\$&[email protected]\$G\$9!#=EH"\$N6y\$r\$D\$D\$\$\$F\$\$\$k\$h\$&\$J46\$8\$,\$9\$k2Ue(B
e\$B=j\$b\$"\$C\$?\$1\$I!"\$=\$N\$^\$^5-:\$7\$^\$7\$?!#e(B

e\$B\$A\$J\$_\$K!“Hs8_49\$N>[email protected]\$1\$,L\E*\$G\$9!#%3%a%s%H\$rIU\$1\$F\$\$\$k2Ue(B
e\$B=j\$,\$”\$j\$^\$9\$,!":#8e\$N%P!<%8%g%s\$GBP=h\$9\$Y\$-\$+\$I\$&\$+\$H\$\$\$&2ACMH=CG\$O9Te(B
e\$B\$J\$C\$F\$\$\$^\$;\$s!#e(B
([ruby-core:28286]e\$B\$r8+\$k\$H!“0U?^E*\$JHs8_49\$b\$”\$j\$=\$&\$G\$9\$7e(B)

1. atan2
========

1.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B?t\$,B?\$\$\$N\$GI=7A<0\$r;HMQ!#EyI}%U%)%s%H\$r;HMQ\$7\$F\$/[email protected]\$5\$\$!#e(B

``````      e\$B<0e(B                    1.9.1     trunk
------------------------- -------- ------------
``````
1. atan2([email protected]\$NM-8BCMe(B, -Inf) +PI DomainError
2. atan2(e\$BIi\$NM-8BCMe(B, -Inf) -PI DomainError
3. atan2([email protected]\$NM-8BCMe(B, +Inf) +0.0 DomainError
4. atan2(e\$BIi\$NM-8BCMe(B, +Inf) -0.0 DomainError
5. atan2(+Inf, [email protected]\$NM-8BCMe(B) +PI/2 DomainError
6. atan2(-Inf, [email protected]\$NM-8BCMe(B) -PI/2 DomainError
7. atan2(+Inf, -Inf) +3PI/4 DomainError
8. atan2(-Inf, -Inf) -3PI/4 DomainError
9. atan2(+Inf, +Inf) +PI/4 DomainError
10. atan2(-Inf, +Inf) -PI/4 DomainError

1.9.1 e\$B\$N5sF0\$Ne(B 1e\$B!Ae(B6
e\$B\$^\$G\$O?t3XE*\$K8+\$F\$b0UL#\$,\$"\$j\$=\$&!#?t<0\$G\$I\$&\$3\$&e(B
e\$B\$H\$\$\$&\$N\$O\$o\$+\$i\$J\$\$\$,!"e(BWikipedia
e\$B\$Ne(B3e\$B<!85%0%i%Ue(B(*2)e\$B\$r8+\$k\$H!"e(Bxe\$B<4!"e(Bye\$B<4e(B
e\$B\$NJRJ}\$rL58B\$K?-\$P\$7\$?>l9g\$r9M\$(\$k\$He(B 1.9.1
[email protected]\$7\$=\$&\$G\$9!#e(B

7e\$B!Ae(B10 e\$B\$O?t3XE*\$K\$O\$"\$d\$7\$\$!#Nc\$(\$P!“e(Batan2(y, x)
e\$B\$NLa\$jCM\$,e(B +PI/4 e\$B\$K\$Je(B
e\$B\$k\$?\$a\$K\$Oe(B y/x == 1 e\$B\$G\$”\$kI,MW\$,\$"\$k\$,!"e(B+Inf
e\$BF1;N\$NHfN(\$O\$J\$s\$i\$+\$NA0e(B
e\$BDs>r7o\$r\$D\$1\$J\$\$8B\$jIT2DG=\$J\$?\$a!#e(B

1.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. atan2(y, x) e\$B\$Ne(B y, x e\$B\$N\$I\$A\$i\$+\$,e(B NaN --> NaN

SUSv2 e\$B\$G\$O>e5-\$NDL\$j\$NCM\$rLa\$9\$3\$H\$K\$J\$C\$F\$\$\$k\$N\$KBP\$7!"e(BSUSv3
e\$B\$G\$O%*%We(B
e\$B%7%g%s\$NF0:n\$K3J2<\$2\$5\$l\$F\$\$\$k!#e(B

1. cos
======

2.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$,\$J\$\$\$N\$GHs8_49\$J\$7e(B

2.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. cos(NaN) -> NaN
2. cos(+0.0) -> 1.0
3. cos(-0.0) -> 1.0
4. cos(+Inf) -> SUSv3 e\$B\$G\$Oe(B NaN e\$B\$^\$?\$O<BAu0MB8\$NCM!"e(BSUSv2
e\$B\$G\$Oe(B 0.0 e\$B\$^\$?\$Oe(B NaN
5. cos(-Inf) -> SUSv3 e\$B\$G\$Oe(B NaN e\$B\$^\$?\$O<BAu0MB8\$NCM!"e(BSUSv2
e\$B\$G\$Oe(B 0.0 e\$B\$^\$?\$Oe(B NaN

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1, 4, 5
e\$B\$ODj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3 e\$B\$N5-=R\$O\$J\$\$!#e(B
e\$B0J30\$NCM\$rLa\$9\$3\$H\$O\$”\$j\$(\$J\$\$\$He(B
e\$B;W\$&\$,e(B…)

1. sin
======

3.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$,\$J\$\$\$N\$GHs8_49\$J\$7e(B

3.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. sin(NaN) -> NaN
2. sin(+0.0) -> +0.0
3. sin(-0.0) -> -0.0
4. sin([email protected],?te(B*3) -> SUSv3e\$B\$G\$O0z?t\$NCM!"e(BSUSv2(*4)
e\$B\$G\$Oe(B 0.0
5. sin(+Inf) -> SUSv3 e\$B\$G\$Oe(B NaN e\$B\$^\$?\$O<BAu0MB8\$NCM!"e(BSUSv2
e\$B\$G\$Oe(B 0.0 e\$B\$^\$?\$Oe(B NaN
6. sin(-Inf) -> SUSv3 e\$B\$G\$Oe(B NaN e\$B\$^\$?\$O<BAu0MB8\$NCM!"e(BSUSv2
e\$B\$G\$Oe(B 0.0 e\$B\$^\$?\$Oe(B NaN

*3 [email protected],?te(B(subnormal)e\$B\$H\$O!"e(Bdouble e\$B\$N>l9g!“e(B-1.0E-95
e\$B\$He(B +1.0E-95 e\$B\$N4V\$Ne(B
0e\$B0J30\$NCM!#e(B
*4 SUSv2
e\$B\$N;EMM=q\$G\$O!VLa\$jCM\$,%”%s%@!<%U%m!<\$7\$?\$H\$-!W\$H5-=R\$5\$l\$F\$\$e(B
e\$B\$k!#0z?t\$,Hs>o\$K>.\$5\$\$\$H\$-!“La\$jCM\$O0z?t\$H\$[\$\F1\$8CM\$K\$J\$k\$N\$G!VLae(B
e\$B\$jCM\$,%”%s%@!<%U%m!<!We(B -> e\$B!VLa\$jCM\$,[email protected],?t!We(B ->
e\$B!V0z?t\$,[email protected],?t!We(B
[email protected]!!#e(B

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1,4,5,6
e\$B\$ODj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3 e\$B\$N5-=R\$O\$J\$\$!#e(B

1. tan
======

4.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$,\$J\$\$\$N\$GHs8_49\$J\$7e(B

4.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. tan(NaN) -> NaN
2. tan(+0.0) -> +0.0
3. tan(-0.0) -> -0.0
4. tan([email protected],?te(B) -> SUSv3 e\$B\$G\$O0z?t\$NCM!"e(BSUSv2(*4)e\$B\$G\$Oe(B
0.0
5. tan(+Inf) -> SUSv3 e\$B\$G\$Oe(B NaN e\$B\$^\$?\$O<BAu0MB8\$NCM!"e(BSUSv2
e\$B\$G\$Oe(B 0.0 e\$B\$^\$?\$Oe(B NaN
6. tan(-Inf) -> SUSv3 e\$B\$G\$Oe(B NaN e\$B\$^\$?\$O<BAu0MB8\$NCM!"e(BSUSv2
e\$B\$G\$Oe(B 0.0 e\$B\$^\$?\$Oe(B NaN
7. tan(e\$BM-8BCMe(B) e\$B\$,e(B overflow e\$B\$7\$?\$H\$-e(B -> ±Inf

SUSv3 e\$B\$G\$Oe(B 1,2,3,4,5,6 e\$B\$,%*%W%7%g%s\$NF0:n\$G!"e(B7 e\$B\$Oe(B XSI
e\$B3HD%\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1, 4, 5, 6,7 e\$B\$ODj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3
e\$B\$N5-=R\$O\$J\$\$!#e(B

1. acos
=======

5.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$O\$"\$k\$,!"5sF0\$NJQ2=\$J\$7!#e(B

5.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. acos(NaN) -> NaN
2. acos(+1.0) -> +0.0

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1 e\$B\$ODj5Ae(B
e\$B\$5\$l\$F\$\$\$k\$,!"e(B2 e\$B\$N5-=R\$O\$J\$\$!#e(B

1. asin
=======

6.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

SUSv3 e\$B\$K\$O!"e(B
If x is subnormal, a range error may occur and x should be returned.
e\$B\$H=q\$+\$l\$F\$\$\$k\$N\$G!"0z?t\$,[email protected],?t\$N\$H\$-<BAu\$K\$h\$C\$F\$Oe(B errno
e\$B\$Ke(B ERANGE
e\$B\$,@_Dj\$5\$l\$k!#\$3\$N\$H\$-e(B 1.9.1 e\$B\$G\$Oe(B Errno::ERANGE
e\$BNc30\$,5s\$,\$k!#e(B
e\$B0lJ}!"e(Btrunk e\$B\$G\$ONc30\$r5s\$2\$J\$\$!#e(B

6.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. asin(NaN) -> NaN
2. asin(+0.0) -> +0.0
3. asin(-0.0) -> -0.0
4. asin([email protected],?te(B) -> SUSv3
e\$B\$G\$O0z?t\$NCM!#e(BSUSv2(*4)e\$B\$G\$Oe(B 0.0

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1, 4 e\$B\$Oe(B
e\$BDj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3 e\$B\$N5-=R\$O\$J\$\$!#e(B

1. atan
=======

7.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$,\$J\$\$\$N\$GHs8_49\$J\$7e(B

7.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. atan(NaN) -> NaN
2. atan(+0.0) -> +0.0
3. atan(-0.0) -> -0.0
4. atan(+Inf) -> +PI/2
5. atan(-Inf) -> -PI/2
6. atan([email protected],?te(B) -> SUSv3
e\$B\$G\$O0z?t\$NCM!#e(BSUSv2(*4)e\$B\$G\$Oe(B 0.0

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1, 6 e\$B\$Oe(B
e\$BDj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3, 4, 5 e\$B\$N5-=R\$O\$J\$\$!#e(B

e\$B5WJ]\$G\$9!#e(B

Mathe\$B%b%8%e!<%[email protected]\$ND4::BhFs2s\$G\$9!#A4e(B26e\$B8D\$N4X?t\$N\$&\$Ae(B
e\$BBh0l2s\$O:G=i\$Ne(B7e\$B8De(B(atan2, cos, sin, tan, acos, asin,
atan)e\$B\$G!"BhFs2s\$Ne(B
e\$B:#2s\$O<!\$Ne(B7e\$B8De(B(cosh, sinh, tanh, acosh, asinh, atanh,
exp)e\$B\$G\$9!#e(B

e\$B%A%’%C%/9`L\$O0J2<\$Ne(B2e\$B\$D!#e(B

(1) SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

(2) trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

``````e\$BIaDL\$K9M\$(\$l\$PEvA3\$NF0:[email protected]\$(\$k\$b\$N\$be(B SUSv3
``````

e\$B\$G\$O%*%W%7%g%s\$NF0:ne(B
e\$B\$K\$J\$C\$F\$\$\$kLOMM!#EvA3\$8\$c\$J\$\$F0:n\$r\$9\$k<BAu\$b\$"\$k\$+\$i\$J\$N\$+!)e(B

e\$B>\$7\$/\$Oe(B ruby-dev:42155 e\$B\$r;2>H!#e(B

1. cosh
=======

8.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$,\$J\$\$\$N\$GHs8_49\$J\$7e(B

8.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. cosh(NaN) -> NaN
2. cosh(+0.0) -> 1.0
3. cosh(-0.0) -> 1.0
4. cosh(+Inf) -> +Inf
5. cosh(-Inf) -> +Inf

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1, 4, 5
e\$B\$ODj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3 e\$B\$N5-=R\$O\$J\$\$!#e(B

1. sinh
=======

9.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$,\$J\$\$\$N\$GHs8_49\$J\$7e(B

9.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. sinh(NaN) -> NaN
2. sinh(+0.0) -> +0.0
3. sinh(-0.0) -> -0.0
4. sinh(+Inf) -> +Inf
5. sinh(-Inf) -> -Inf
6. sinh([email protected],?te(B) -> SUSv3 e\$B\$G\$Oe(B e\$B0z?t\$NCM!"e(BSUSv2
e\$B\$G\$Oe(B 0.0

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1, 6
e\$B\$ODj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3, 4, 5 e\$B\$N5-=R\$O\$J\$\$!#e(B

1. tanh
========

10.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$,\$J\$\$\$N\$GHs8_49\$J\$7e(B

10.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. tanh(NaN) -> NaN
2. tanh(+0.0) -> +0.0
3. tanh(-0.0) -> -0.0
4. tanh(+Inf) -> +1.0
5. tanh(-Inf) -> -1.0
6. tanh([email protected],?te(B) -> SUSv3 e\$B\$G\$Oe(B e\$B0z?t\$NCM!"e(BSUSv2
e\$B\$G\$Oe(B 0.0

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1, 6
e\$B\$ODj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3, 4, 5 e\$B\$N5-=R\$O\$J\$\$!#e(B

1. acosh
=========

11.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$O\$"\$k\$,!"5sF0\$NJQ2=\$J\$7!#e(B

11.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. acosh(NaN) -> NaN
2. acosh(+1.0) -> +0.0
3. acosh(+Inf) -> +Inf

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1
e\$B\$ODj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3 e\$B\$N5-=R\$O\$J\$\$!#e(B

1. asinh
=========

12.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$,\$J\$\$\$N\$GHs8_49\$J\$7e(B

12.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. asinh(NaN) -> NaN
2. asinh(+0.0) -> +0.0
3. asinh(-0.0) -> -0.0
4. asinh(+Inf) -> +Inf
5. asinh(-Inf) -> -Inf
6. asinh([email protected],?te(B) -> SUSv3 e\$B\$G\$Oe(B e\$B0z?t\$NCMe(B

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1
e\$B\$ODj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3, 4, 5, 6 e\$B\$N5-=R\$O\$J\$\$!#e(B

1. atanh
=========

13.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

``````                       1.9.1        trunk
---------------- ----------------  -------
``````
1. atanh([email protected],?te(B) Errno::ERANGE(*5) e\$B0z?t\$NCMe(B
2. atanh(+1.0) Errno::ERANGE +Inf
3. atanh(-1.0) Errno::ERANGE -Inf

*5 e\$B;EMM=q\$K\$Oe(B “a range error may occur”
e\$B\$H=q\$+\$l\$F\$\$\$k!#Nc30\$r>e\$2\$k\$+!"e(B
trunk e\$B\$HF1\$8F0:n\$r\$9\$k\$+\$O<BAu\$K0MB8\$9\$k!#e(B

13.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. atanh(NaN) -> NaN
2. atanh(+0.0) -> +0.0
3. atanh(-0.0) -> -0.0
4. atanh([email protected],?te(B) -> SUSv3 e\$B\$G\$Oe(B e\$B0z?t\$NCMe(B

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1
e\$B\$ODj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3, 4 e\$B\$N5-=R\$O\$J\$\$!#e(B

1. exp
=======

14.1. SUSv3e\$B=`5r4D6-\$G\$Ne(B 1.9.1 e\$B\$He(B trunk e\$B\$NHs8_49e(B

e\$B%=!<%9%3!<%I\$NJQ99\$,\$J\$\$\$N\$GHs8_49\$J\$7e(B

14.2. trunk e\$B\$G\$N%W%i%C%H%U%)!<%`[email protected](B

1. exp(NaN) -> NaN
2. exp(+0.0) -> 1.0
3. exp(-0.0) -> 1.0
4. exp(+Inf) -> +Inf
5. exp(-Inf) -> +0.0

SUSv3 e\$B\$G\$O>e5-\$9\$Y\$F%*%W%7%g%s\$NF0:n\$H\$J\$C\$F\$\$\$k!#e(BSUSv2
e\$B\$G\$O!"e(B1
e\$B\$ODj5A\$5\$l\$F\$\$\$k\$,!"e(B2, 3, 4, 5 e\$B\$N5-=R\$O\$J\$\$!#e(B

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.