[Bug #913] mathn $B$7$?>l9g!"(Bsqrt(NaN) $B$,J#AG?t$K$J$k(B

e$B%A%1%C%He(B #913 e$B$,99?7$5$l$^$7$?!#e(B (by Yuki S.)

e$B$?$V$s!"$3$s$J46$8$@$H;W$$$^$9!#%3%_%C%H$7$F$h$$$G$9$+e(B? <
e$B@PDM$5$se(B

diff --git a/lib/mathn.rb b/lib/mathn.rb
index 48cb99f…0241f57 100644
— a/lib/mathn.rb
+++ b/lib/mathn.rb
@@ -134,6 +134,8 @@ module Math
else
Complex(x, -y)
end

  • elsif a.respond_to?(:nan?) and a.nan?
  •  a
    
    elsif a >= 0
    rsqrt(a)
    else

http://redmine.ruby-lang.org/issues/show/913

e$B$1$$$8$e!w$$$7$D$+$G$9e(B.

In [ruby-dev :37537 ] the message: "[ruby-dev:37537] [Bug #913] mathn
e$B$7$?>l9g!"e(Bsqrt(NaN) e$B$,J#AG?t$K$J$ke(B ", on Dec/22 11:38(JST)
Yuki S.
writes:

e$B%A%1%C%He(B #913 e$B$,99?7$5$l$^$7$?!#e(B (by Yuki S.)

e$B$?$V$s!"$3$s$J46$8$@$H;W$$$^$9!#%3%_%C%H$7$F$h$$$G$9$+e(B? < e$B@PDM$5$se(B

e$BCM$,JQ$@$H$$$&0UL#$G$Oe(B, e$B2?$i$+$NBP=h$,$"$k$Y$-$@$H;W$$$^$9e(B.
e$B$,e(B

,
basee$B$H$J$C$F$$$ke(BComplexe$B$N?6$kIq$$$K4p$E$$$F$$$k$N$Ge(B,e$B$^$:e(B,
Complexe$B$Ke(B
nane$B$r?)$o$;$?$H$-$N?6$kIq$$$rL@3N$K$7$?J}$,NI$$$N$G$Oe(B?

irb(main):001:0> nan = 0.0/0
=> NaN
irb(main):002:0> Complex(nan,0)
=> (NaN+0i)
irb(main):003:0> Complex(0,nan)
=> (0+NaN*i)

e$B$3$l$i$N?6$kIq$$$O$3$l$GNI$$$s$G$9$+$Me(B?

__
---------------------------------------------------->> e$B@PDMe(B
e$B7=<ye(B <<—
---------------------------------->> e-mail: [email protected] <<—

e$B$?$V$s!"$3$s$J46$8$@$H;W$$$^$9!#%3%_%C%H$7$F$h$$$G$9$+e(B? < e$B@PDM$5$se(B

e$BCM$,JQ$@$H$$$&0UL#$G$Oe(B, e$B2?$i$+$NBP=h$,$"$k$Y$-$@$H;W$$$^$9e(B. e$B$,e(B

, basee$B$H$J$C$F$$$ke(BComplexe$B$N?6$kIq$$$K4p$E$$$F$$$k$N$Ge(B,e$B$^$:e(B, Complexe$B$Ke(B
nane$B$r?)$o$;$?$H$-$N?6$kIq$$$rL@3N$K$7$?J}$,NI$$$N$G$Oe(B?

e$B$"$^$j4X78$J$$$h$&$J5$$,$7$^$9!#e(Bmatnn e$B$J$7$G!"e(B

Math.sqrt(NaN) #=> NaN

e$B$H$J$k$H$$$&$3$H$J$N$G!#e(B

irb(main):001:0> nan = 0.0/0
=> NaN
irb(main):002:0> Complex(nan,0)
=> (NaN+0i)
irb(main):003:0> Complex(0,nan)
=> (0+NaN*i)

e$B$3$l$i$N?6$kIq$$$O$3$l$GNI$$$s$G$9$+$Me(B?

e$B$?$H$($P!"e(Br6rs e$B$G!"e(B+nan.0+0i e$B$de(B 0+nan.0i
e$B$H=q$$$?>l9g$HF1$8$G9=$o$J$$$He(B
e$B;W$C$F$$$^$9!#e(Bpython e$B$G$bF1$8$G$9!#e(B

e$B4pK\E*$Ke(B Complex e$B$NMWAG$Oe(B real
e$B$G$"$l$P$$$$$H$$$&H=CG$G$9!#$@$+$i!“e(B
BigDecimal e$B$d$”$k$$$OL$CN$N<B?t$N<BAu$G$b<u$1F~$l$^$9!#e(B

e$B$1$$$8$e!w$$$7$D$+$G$9e(B.

e$B2<5-N;2r$G$9e(B.

Yuguie$B$5$s%A%’%C%/%$%s$7$F$$$?$@$1$J$$$G$7$g$&$+e(B?

In [ruby-dev :37550 ] the message: "[ruby-dev:37550] Re: [Bug #913]
mathn e$B$7$?>l9g!"e(Bsqrt(NaN) e$B$,J#AG?t$K$J$ke(B ", on Dec/22
21:38(JST)
Tadayoshi F. writes:

e$B$?$H$($P!"e(Br6rs e$B$G!"e(B+nan.0+0i e$B$de(B 0+nan.0i e$B$H=q$$$?>l9g$HF1$8$G9=$o$J$$$He(B
e$B;W$C$F$$$^$9!#e(Bpython e$B$G$bF1$8$G$9!#e(B

e$B4pK\E*$Ke(B Complex e$B$NMWAG$Oe(B real e$B$G$"$l$P$$$$$H$$$&H=CG$G$9!#$@$+$i!“e(B
BigDecimal e$B$d$”$k$$$OL$CN$N<B?t$N<BAu$G$b<u$1F~$l$^$9!#e(B

__
---------------------------------------------------->> e$B@PDMe(B
e$B7=<ye(B <<—
---------------------------------->> e-mail: [email protected] <<—