ComplexFloat

e$B$`$i$?$G$9!%e(B

2008/4/10 Tanaka A. [email protected]:

In article [email protected],

e$BNc$($Pe(B FL_COMPLEX_FLOAT e$B$N$h$&$J%U%i%0$r;H$&$H$$$&$3$H$G$7$g$&$+!)e(B
e$B$=$l$O2DG=$G$9$7!$$=$N$h$&$KJQ99$9$k$@$1$J$iFq$7$/$J$$$h$&$J5$$,$7$^$9!%e(B
e$B$5$i$K!$$=$N$h$&$KJQ99$7$F$be(B TYPE(obj) e$B$r;H$&>l9g$H$[$H$s$IF1$8%3%9%H$Ge(B
e$B>uBV$r6hJL$G$-$^$9$M!%e(B
e$B$?$@$7!$JQ998e$Ne(B complex.c e$B$N%a%s%F%J%s%9$OBgJQ$+$b$7$l$^$;$s!&!&!&e(B

e$B$J$k$[$I!#$`$i$?$5$s$N4uK>$K$OJL$N%/%i%9$r:n$k$H$$$&$3$H$OF~$Ce(B
e$B$F$$$J$$$o$1$G$9$M!#e(B

e$B$=$&$G$9$M!%e(BRuby
e$B%l%Y%k$G6hJL$9$kI,MW$,$J$$$N$G!$?7$7$$%/%i%9$N:n$i$Je(B
e$B$1$l$P$J$i$J$$!$$H$$$&$o$1$G$O$"$j$^$;$s!%e(B

e$B%/%i%9$r?7@$9$k$+!$e(BComplex e$B$N<BAu$NCf$G$d$j$/$j$9$k$+!$e(B
e$B$3$l$i$N$I$C$A$,$d$j$d$9$$$+$H$$$&LdBj$@$H;W$C$F$$$^$9!%e(B
e$BA0<T$NJ}$,4JC1$@$C$?$N$G!$$^$@e(B Complex → ComplexFloat
e$B$NJQ49$J$Ie(B
e$B<BAu$7$F$$$J$$;EMM$O$"$j$^$9$,!$Nc$Ne(B patch e$B$G$Oe(B ComplexFloat
e$B$H$$$&e(B
e$B%/%i%9$r?7@
$7$^$7$?!%e(B

e$B$G$O!"$$$^$N$^$^$Ne(B Complex e$B$G!"e(BC e$B%l%Y%k$Ge(B
Complex e$B$Je(B VALUE e$B$+$ie(B double _Complex e$B$r<h$j=P$94X?t5Z$Se(B
double Complex e$B$+$ie(B Complex e$B$Je(B VALUE e$B$r@8@.$9$k4X?t$r?7@$9e(B
e$B$k$H$$$&$N$J$i$I$&$G$7$g$&$+e(B?

e$B$=$N4X?t$NCf$G$OKh2s<BIt$H5uIt$N7?$rFHN)$K%A%'%C%/$7I,MW$J$iJQ49$9$ke(B
e$B=hM}$,9T$J$o$l$^$9!%$3$l$O!$e(BFL_COMPLEX_FLOAT e$B$de(B TYPE
e$B%^%/%me(B
e$B$G6hJL$9$k>l9g$HHf3S$7$FL5BL$,B?$$$N$GHr$1$?$$$G$9!%e(B

e$B$=$N$h$&$J4X?te(Be$B$be(Be$BDs6!$9$k$H$$$&$3$H$G$7$?$i!$>l9g$K$h$C$F$OJXMx$Ge(B
e$B$7$g$&$+$i;?@.$G$9!%e(B

e$BMxE@$H$7$F$O!“3HD%%i%$%V%i%j$,=q$-$d$9$$!”$H$$$&$3$H!#@5Ev2=$NM}M3$H$7e(B
e$B$F$O!“e(BNumeric e$B$K$*$1$ke(B Float
e$B$N$h$&$J$b$N$@$+$i!”$H$$$&$3$H$,$"$k$N$@e(B
e$B$H;W$$$^$9!#e(B

e$B$?$H$($P!":#8=:_$N$d$j$+$?$G$O!"e(BRational
e$B$NB.EY$O!“e(BFixnume$B!“e(BBignume$B!“e(BVM
e$B$NB.EY$N8B3&$r1[$($i$l$^$;$s!#e(BBignum
e$B$O!”$b$C$HB.$/$J$k2DG=@-$,$”$k$He(B
e$B;W$$$^$9$,!”$=$l$r$;$:$K!"e(BRational e$B$,<+A0$G!"e(BBignum
e$B$r;}$D$H$$$&$3$H$be(B
e$B2DG=$@$H;W$$$^$9!#e(B

e$B$3$&$$$&9M$($r40A4$KH]Dj$O$7$^$;$s$,!"$d$O$j$$$S$D$J?J2=$H$$$&46$8$,$7e(B
e$B$^$9!#e(B

Complex e$B$de(B Rational
e$B$,4{B8$N?tCM%/%i%9$K0MB8$7$F$$$k$3$H$O!"Bg$-$JMxE@e(B
e$B$G$9!#e(BComplexFloat
e$B$@$18+$l$P!"B<ED$5$s$N$h$&$J?M$K$H$C$FET9g$,$$$$$Ne(B
e$B$O!"H=$k$h$&$J5$$,$9$k$N$G$9$,!"A4BN$+$i8+$k$H!"J#;($G!"MxE@$b>/$J$$$He(B
e$B;W$$$^$9!#e(B

e$B3HD%%i%$%V%i%j$r=q$/?M$K$H$C$F$b!“e(BComplexFloat
e$B$@$1$D$+$&$H7h$a$F$7$^e(B
e$B$($P4JC1$+$b$7$l$^$;$s$,!”$h$j0lHLE*$J$b$N$rDs6!$9$k$J$i$P!"5U$KJ#;($Ke(B
e$B$J$C$F$7$^$$$^$9!#e(B

Complex e$BFb$G!“e(BC e$B$Ne(B Complex
e$B$r$D$+$&$3$H$O$”$jF@$k!"$H;W$$$^$9$,!"$=$le(B
e$B$@$1$N$3$H$r$9$k2ACM$,$"$k$N$+!":#$N$H$3$m$o$+$j$^$;$s!#e(B

e$B;d$K$O$$$S$D$J?J2=$H$$$&46$8$O$7$^$;$s!%$`$7$m!$$;$C$+$/e(B C e$B$G<BAu$G$-$k$N$Ke(B
e$B$J$<:GE,2=$G$-$k$3$H$r:GE,2=$7$J$$$N$+IT;W5D$J$/$i$$$G$9!%e(B

e$B$7$J$$!"$H$b8@$C$F$$$^$;$s!#e(B

e$B$U$J$P$5$s$O!$e(BRational e$B$Oe(B Bignum e$B$de(B Fixnum e$B0J30$N@0?t%/%i%9$bJ];}$G$-$ke(B
e$BI,MW$,$"$k$H$*9M$($J$N$G$7$g$&$+!)$b$7$=$&$@$H$9$k$H!$8=>u$Ne(B Rational
e$B$NJ}$,$$$S$D$J46$8$,$7$^$9!%e(B

e$BI,MW$J$$$H;W$$$^$9!#e(B

e$B$=$N$h$&$JJ#;(@-$Oe(B API e$B$r9)IW$9$k$3$H$G$"$kDxEYKI$0$3$H$O2DG=$G$7$g$&!%e(B

e$B$=$&$G$9!#$D$^$j!“e(BComplexFloat
e$B$,$”$k$H3HD%%i%$%V%i%j$,=q$-$d$9$$!"$He(B
e$B$$$&$N$b$"$^$j@bF@NO$,$J$$$N$G$9!#e(B

C e$B$Ne(B _Complex e$B7?$HJ#AG4X?t72$Oe(B C99 e$B$G9q:]I8=`5,3J$K$J$C$F$$$^$9!%e(B

e$B4X78$,$J$$$H;W$$$^$9!#e(B

e$B$`$i$?$G$9!%e(B

2008/4/10 Tadayoshi F. [email protected]:

e$B$?$H$($P!":#8=:_$N$d$j$+$?$G$O!"e(BRational e$B$NB.EY$O!“e(BFixnume$B!“e(BBignume$B!“e(BVM
e$B$NB.EY$N8B3&$r1[$($i$l$^$;$s!#e(BBignum e$B$O!”$b$C$HB.$/$J$k2DG=@-$,$”$k$He(B
e$B;W$$$^$9$,!”$=$l$r$;$:$K!"e(BRational e$B$,<+A0$G!"e(BBignum e$B$r;}$D$H$$$&$3$H$be(B
e$B2DG=$@$H;W$$$^$9!#e(B

e$B$3$&$$$&9M$($r40A4$KH]Dj$O$7$^$;$s$,!"$d$O$j$$$S$D$J?J2=$H$$$&46$8$,$7e(B
e$B$^$9!#e(B

e$B;d$K$O$$$S$D$J?J2=$H$$$&46$8$O$7$^$;$s!%$`$7$m!$$;$C$+$/e(B C
e$B$G<BAu$G$-$k$N$Ke(B
e$B$J$<:GE,2=$G$-$k$3$H$r:GE,2=$7$J$$$N$+IT;W5D$J$/$i$$$G$9!%e(B

e$B$U$J$P$5$s$O!$e(BRational e$B$Oe(B Bignum e$B$de(B Fixnum
e$B0J30$N@0?t%/%i%9$bJ];}$G$-$ke(B
e$BI,MW$,$"$k$H$*9M$($J$N$G$7$g$&$+!)$b$7$=$&$@$H$9$k$H!$8=>u$Ne(B
Rational
e$B$NJ}$,$$$S$D$J46$8$,$7$^$9!%e(B

e$BNc$($Pe(B GMP e$B$NB?G\D9@0?t$r%i%C%W$7$?%/%i%9$H$7$Fe(B GMPInt
e$B$N$h$&$J$b$N$,e(B
e$B$"$C$?$H$7$F!$$3$l$r;H$C$?e(B Rational
e$B$r:n$k$3$H$r9M$($^$7$g$&!%e(B
1/2 e$B$N$h$&$K4JC1$K5-=R2DG=$J?t$G$b7W;;2aDx$K$h$C$F$O!$e(BGMPInt
e$B$G9=@.$5$l$ke(B
Rational e$B$rL@<(E*$K!$e(BRational(GMPInt(1), GMPInt(2))
e$B$N$h$&$K$7$Fe(B
e$B@8@.$7$J$1$l$P$J$i$J$$$o$1$G$9!%e(B

e$B$b$A$m$s!$e(BGMPInt e$B$G9=@.$5$l$?e(B Rational e$B$He(B Fixnum
e$B$G9=@.$5$l$?e(B Rational e$BF1;Ne(B
e$B$N1i;;$Oe(B coerce
e$B$G$-$A$s$H=hM}$5$l$k$O$:$G$9!%$=$l$G$b!$>/$J$/$H$b0l$D$Oe(B
Rational(GMPInt(1), GMPInt(2)) e$B$N$h$&$K@8@.$9$kI,MW$,$"$j$^$9!%e(B

e$B$=$l$J$i$`$7$m!$e(BRational[GMPInt]
e$B$N$h$&$JJ}K!$G!$MWAG%/%i%9$,;XDj$5$l$?e(B
Rational
e$B%/%i%9$r@8@.$7!$$3$l$rMQ$$$FM-M}?t$rI=8=$G$-$k$h$&$K$9$kJ}$,!$e(B
e$B;d$O$-$l$$$K46$8$^$9!%$=$&$G$J$$$J$i!$AH$9~$$Ne(B Rational e$B$Oe(B
Fixnum
e$B$b$7$/$Oe(B Bignum e$B$G9=@.$5$l$k$b$N$G$"$k$H7hDj$7$F$7$^$&$[$&$,e(B
e$BNI$$$H;W$$$^$9$,G!2?$G$7$g$&!)e(B

e$B$b$7$3$N0U8+$KH?BP$5$l$k$J$i!$Nc$($P!$J,;R$,e(B GMPInt e$B$GJ,Jl$,e(B
Bignum
e$B$G$“$k$h$&$Je(B Rational
e$B$,:n$l$kI,MW@-$,$”$k$+$I$&$+9M$($F$_$F$/$@$5$$!%e(B
(e$BJ,;R$,e(B GMPInte$B!$J,Jl$,e(B Fixnum
e$B$H$$$&AH9g$;$OM-$jF@$k$H;W$$$^$9e(B)

e$B3HD%%i%$%V%i%j$r=q$/?M$K$H$C$F$b!“e(BComplexFloat e$B$@$1$D$+$&$H7h$a$F$7$^e(B
e$B$($P4JC1$+$b$7$l$^$;$s$,!”$h$j0lHLE*$J$b$N$rDs6!$9$k$J$i$P!"5U$KJ#;($Ke(B
e$B$J$C$F$7$^$$$^$9!#e(B

e$B$=$N$h$&$JJ#;(@-$Oe(B API
e$B$r9)IW$9$k$3$H$G$"$kDxEYKI$0$3$H$O2DG=$G$7$g$&!%e(B

Complex e$BFb$G!“e(BC e$B$Ne(B Complex e$B$r$D$+$&$3$H$O$”$jF@$k!“$H;W$$$^$9$,!”$=$le(B
e$B$@$1$N$3$H$r$9$k2ACM$,$“$k$N$+!”:#$N$H$3$m$o$+$j$^$;$s!#e(B

C e$B$Ne(B _Complex e$B7?$HJ#AG4X?t72$Oe(B C99
e$B$G9q:]I8=`5,3J$K$J$C$F$$$^$9!%e(B

In article [email protected],
“Kenta M.” [email protected] writes:

e$B$=$N4X?t$NCf$G$OKh2s<BIt$H5uIt$N7?$rFHN)$K%A%'%C%/$7I,MW$J$iJQ49$9$ke(B
e$B=hM}$,9T$J$o$l$^$9!%$3$l$O!$e(BFL_COMPLEX_FLOAT e$B$de(B TYPE e$B%^%/%me(B
e$B$G6hJL$9$k>l9g$HHf3S$7$FL5BL$,B?$$$N$GHr$1$?$$$G$9!%e(B

e$B$=$&$$$&%A%'%C%/$N<B9T;~4V$C$F!"$I$N$/$i$$=EMW$J$s$G$7$g$&$+e(B?

Ruby e$B$+$i8F$S=P$9$N$G$“$l$P!”%a%=%C%I8F$S=P$7<+BN$N%*!<%P!<e(B
e$B%X%C%I$N$[$&$,$:$C$HBg$-$$$h$&$J5$$,$7$^$9!#e(B

In article
[email protected],
“Kenta M.” [email protected] writes:

e$BFbItI=8=$,e(B double e$B$G$“$k$h$&$JJ#AG?t$r07$&%k!<%A%s$,=q$-$d$9$/$J$j$^$9!%e(B
e$B$=$&$G$J$$>l9g$N=q$-0W$5$OJQ2=$7$J$$$O$:$G$9!%e(B
e$B$J$<$J$ie(B TYPE(obj) == T_COMPLEX_FLOAT e$B$G$”$l$Pe(B
(e$B$b$7$/$Oe(B FL_COMPLEX_FLOAT e$B%U%i%0$,N)$C$F$$$l$Pe(B) e$BFbItI=8=$Oe(B
double e$B$G$"$j!$$=$&$G$J$1$l$PFbItI=8=$Oe(B Float e$B$G$O$J$$e(B VALUEe$B!$e(B
e$B$H$$$&FsBr$K$J$j$^$9!%e(B

[ruby-dev:34300] e$B$G=R$Y$?$h$&$J4X?t$r:n$l$P!“%U%i%0$K$h$kJ,e(B
e$B4t$bITMW$K$J$j$^$9$+$i!”$=$l$,$$$A$P$s=q$-$d$9$$$s$8$c$J$$$Ge(B
e$B$7$g$&$+!#e(B

e$B=q$-$d$9$5$HFbItI=8=$OFHN)$7$?OC$G$O$J$$$+$H;W$$$^$9!#e(B

In article [email protected],
Tanaka A. [email protected] writes:

[ruby-dev:34300] e$B$G=R$Y$?$h$&$J4X?t$r:n$l$P!"%U%i%0$K$h$kJ,e(B

e$B$&!"e(B[ruby-dev:34308] e$B$N4V0c$$$G$9!#e(BVALUE e$B$He(B double
_Complex
e$B$NJQ494X?t!#e(B

e$B$`$i$?$G$9!%e(B

2008/4/11 Tadayoshi F. [email protected]:

e$B;d$K$O$$$S$D$J?J2=$H$$$&46$8$O$7$^$;$s!%$`$7$m!$$;$C$+$/e(B C e$B$G<BAu$G$-$k$N$Ke(B
e$B$J$<:GE,2=$G$-$k$3$H$r:GE,2=$7$J$$$N$+IT;W5D$J$/$i$$$G$9!%e(B

e$B$7$J$$!"$H$b8@$C$F$$$^$;$s!#e(B

e$B$U$J$P$5$s$O!$e(BRational e$B$Oe(B Bignum e$B$de(B Fixnum e$B0J30$N@0?t%/%i%9$bJ];}$G$-$ke(B
e$BI,MW$,$"$k$H$*9M$($J$N$G$7$g$&$+!)$b$7$=$&$@$H$9$k$H!$8=>u$Ne(B Rational
e$B$NJ}$,$$$S$D$J46$8$,$7$^$9!%e(B

e$BI,MW$J$$$H;W$$$^$9!#e(B

e$B$@$H$9$k$H!$$U$J$P$5$s$O;d$NDs0F$N2?$KBP$7$F!V$$$S$D!W$G$"$k$He(B
e$B$*46$8$K$J$C$F$$$k$N$G$7$g$&$+!)$=$3$,$^$@M}2r$G$-$F$$$J$$$N$Ge(B
e$B65$($F$/$@$5$$!%e(B

e$B$=$N$h$&$JJ#;(@-$Oe(B API e$B$r9)IW$9$k$3$H$G$"$kDxEYKI$0$3$H$O2DG=$G$7$g$&!%e(B

e$B$=$&$G$9!#$D$^$j!“e(BComplexFloat e$B$,$”$k$H3HD%%i%$%V%i%j$,=q$-$d$9$$!“$He(B
e$B$$$&$N$b$”$^$j@bF@NO$,$J$$$N$G$9!#e(B

e$BFbItI=8=$,e(B double
e$B$G$“$k$h$&$JJ#AG?t$r07$&%k!<%A%s$,=q$-$d$9$/$J$j$^$9!%e(B
e$B$=$&$G$J$$>l9g$N=q$-0W$5$OJQ2=$7$J$$$O$:$G$9!%e(B
e$B$J$<$J$ie(B TYPE(obj) == T_COMPLEX_FLOAT e$B$G$”$l$Pe(B
(e$B$b$7$/$Oe(B FL_COMPLEX_FLOAT e$B%U%i%0$,N)$C$F$$$l$Pe(B)
e$BFbItI=8=$Oe(B
double e$B$G$"$j!$$=$&$G$J$1$l$PFbItI=8=$Oe(B Float e$B$G$O$J$$e(B
VALUEe$B!$e(B
e$B$H$$$&FsBr$K$J$j$^$9!%e(B

ComplexFloat e$B$N$h$&$JFC<lHG$,L5$1$l$P!$<BIt$H5uIt$KJ,$1$Fe(B Float
e$B$+H]$+e(B
e$B$rH=Dj$9$kI,MW$,$"$j$^$9!%e(B

e$BA0<T$NJ}$,3Z$@$H;W$$$^$9!%e(B

C e$B$Ne(B _Complex e$B7?$HJ#AG4X?t72$Oe(B C99 e$B$G9q:]I8=`5,3J$K$J$C$F$$$^$9!%e(B

e$B4X78$,$J$$$H;W$$$^$9!#e(B

e$B>/$J$/$H$be(B C99 e$B$NJ#AG4X?t72$r%5%]!<%H$9$k$+H]$+$Oe(B Ruby
e$B$N?tCM7O$Ne(B
e$BJ}8~@-$KBg$-$/1F6A$9$k$O$:$G$9!%$=$7$F!$J#AG4X?t72$r%5%]!<%H$9$k>l9g$Ne(B
e$B<BAuJ}K!$H$7$Fe(B _Complex
e$B$r;}$D$+$I$&$+$H$$$&OC$K$J$k$o$1$G$9$,!$e(B
e$B$=$l$O:#Kx$N5DO@$G==J,OC$79g$o$l$F$$$k$H;W$$$^$9!%$9$J$o$A!$e(B
Float e$B$re(B VALUE e$B$G;}$DI,MW@-$OL5$$$H$$$&$3$H$G$9!%e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:34318] Re: ComplexFloat”
on Fri, 11 Apr 2008 02:30:58 +0900, “Kenta M.”
[email protected] writes:

|e$B$@$H$9$k$H!$$U$J$P$5$s$O;d$NDs0F$N2?$KBP$7$F!V$$$S$D!W$G$"$k$He(B
|e$B$*46$8$K$J$C$F$$$k$N$G$7$g$&$+!)$=$3$,$^$@M}2r$G$-$F$$$J$$$N$Ge(B
|e$B65$($F$/$@$5$$!%e(B

e$B!VAa$9$.$k:GE,2=!W$r7|G0$7$F$*$i$l$k5$$,$7$^$9!#;d$H$7$F$OB<e(B
e$BED$5$s$N<g4c$,FI$_@Z$l$F$J$$$N$GJ]N1$7$^$9!#e(B

  • e$B5!G=%;%C%He(B(C99 complexe$B4X?tAjEv$rDs6!$9$ke(B)
  • e$BFbIt<BAue(B(C99 complexe$B$r%*%V%8%'%/%H$KKd$a9~$`e(B)
  • e$B8zN(e(B(e$B%a%b%j8zN(!"7W;;8zN(e(B)
  • e$B3HD%%i%$%V%i%j$N=q$-$d$9$5e(B

e$B$NOC$,F1;~$K=P$F$/$k$N$GH=CG$7$,$?$$$G$9!#e(B

e$B$?$H$($P!"e(B

|e$B>/$J$/$H$be(B C99 e$B$NJ#AG4X?t72$r%5%]!<%H$9$k$+H]$+$Oe(B Ruby e$B$N?tCM7O$Ne(B
|e$BJ}8~@-$KBg$-$/1F6A$9$k$O$:$G$9!%$=$7$F!$J#AG4X?t72$r%5%]!<%H$9$k>l9g$Ne(B
|e$B<BAuJ}K!$H$7$Fe(B _Complex e$B$r;}$D$+$I$&$+$H$$$&OC$K$J$k$o$1$G$9$,!$e(B
|e$B$=$l$O:#Kx$N5DO@$G==J,OC$79g$o$l$F$$$k$H;W$$$^$9!%$9$J$o$A!$e(B
|Float e$B$re(B VALUE e$B$G;}$DI,MW@-$OL5$$$H$$$&$3$H$G$9!%e(B

e$B$G8+$k$H!"!V1F6A$9$k$O$:$G$9!W$^$G$O5!G=%;%C%H$NOC!“e(B
e$B!Ve(BComplexe$B$r;}$D$+$I$&$+$H$$$&OC!W$OFbIt<BAu$NOC$G$9!#$^$?!“e(B
ComplexFloate$B$rF3F~$9$k$N$G$”$l$P!”$=$3$G!Ve(BFloate$B$re(BVALUEe$B$G;}$De(B
e$BI,MW@-$OL5$$!W$N$O$=$NDL$j$G$9$,!"e(BComplexe$B%/%i%9$7$+F3F~$7$Je(B
e$B$$$H$$$&A0Ds$G$O5U$K!Ve(BFloate$B$rFCJL07$$$7$Fe(BVALUEe$B$G;}$?$J$$I,MWe(B
e$B@-!W$O$^$@7kO@$,=P$F$$$J$$e(B(e$B8D?ME*$K$O>C6KE*e(B)e$B$G$9!#e(B

e$B$5$F!"8DJL$NO@E@$K$D$$$F@0M}$7$^$7$g$&!#e(B

e$B$^$:!“5!G=%;%C%H$K$D$$$F$OH?BP$7$^$;$s!#$^$?!”$=$N<BAu$H$7$Fe(B
(e$B$"$l$Pe(B)C99 complexe$B$r7PM3$9$k$N$b$h$$$H;W$$$^$9!#$?$@$7!"e(BC99
e$B$rI,?$K$9$k$N$OEvLLHr$1$?$$$N$G!“MxMQ$9$k$K$7$F$b7k6I8_49AXe(B
e$B$rMQ0U$9$kI,MW$,$”$k$H;W$$$^$9!#e(B

e$BFbIt<BAu$K$D$$$F$G$9$,!“0JA0$$$?$@$$$?%Q%C%A$N$h$&$KD>@%%Ve(B
e$B%8%'%/%H$KKd$a9~$`$N$OA4BN$N%a%b%j8zN($rDc2<$5$;$k$N$G:NMQ$7e(B
e$B$,$?$$$G$9!#FHN)$7$?e(BComplexFloat(e$B$"$k$$$Oe(BFloatComplex?)e$B%/%ie(B
e$B%9$r:NMQ$9$k$H7h$a$k$^$G$O$3$l$OJ]N1$9$k$N$,$h$$$N$G$O$J$$$+e(B
e$B$H;W$$$^$9!#8D?ME
$K$O$”$^$jFHN)$7$?%/%i%9$rF3F~$7$?$/$J$$$Ge(B
e$B$9$,!#e(B

e$B8zN($K$D$$$F$G$9$,!"%a%b%j$O$G$-$k$@$1>CHq$7$J$$!“B.EY$OB.$$e(B
e$B$K1[$7$?$3$H$O$J$$$G$9$,!“B(CM$G$J$$0J>e!“8B3&$,$”$k$H;W$$$^e(B
e$B$9!#$^$?!“e(BRubye$B$+$i8F$S=P$90J>e!”%a%=%C%I8F$S=P$7$N%3%9%H$,Bge(B
e$B$-$$$N$G!”;vA0$NM=B,$O:$Fq$G$9$+$i$”$^$j5^$$$G:GE,2=$K$D$$$Fe(B
e$B9M$($kI,MW$O$J$5$=$&$K;W$$$^$9!#e(B

e$B:G8e$K3HD%%i%$%V%i%j$N=q$-$d$9$5$G$9$,!“e(BC99e$B$rI,?$K$G$-$J$$e(B
e$BE@$J$I$+$i$”$kDxEY:$Fq$r$H$b$J$$$^$9$,!“7k6I$Oe(BCe$B$Ne(Bcomplexe$B$rI=e(B
e$B8=$9$k%G!<%?$He(BRubye$B$N%*%V%8%'%/%H$rAj8_JQ49$9$ke(BAPIe$B$,$”$k$+$Ie(B
e$B$&$+$K5"7k$9$k$h$&$K;W$$$^$9!#$3$l$OFbIt<BAu$r$I$N$h$&$K$9$ke(B
e$B$+$H$OFHN)$NOC$G$9!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

e$B$@$H$9$k$H!$$U$J$P$5$s$O;d$NDs0F$N2?$KBP$7$F!V$$$S$D!W$G$"$k$He(B
e$B$*46$8$K$J$C$F$$$k$N$G$7$g$&$+!)$=$3$,$^$@M}2r$G$-$F$$$J$$$N$Ge(B
e$B65$($F$/$@$5$$!%e(B

Rational e$B$G!"<+A0$Ne(B Bignum e$B$rMQ0U$7$??M$O!“e(BRational
e$B$N;v$@$19M$($F$?$se(B
e$B$8$c$J$$$G$7$g$&$+!#$=$N$”$?$j$,$$$S$D$N860x$@$H;W$$$^$9!#e(B

e$B>/$J$/$H$be(B C99 e$B$NJ#AG4X?t72$r%5%]!<%H$9$k$+H]$+$Oe(B Ruby e$B$N?tCM7O$Ne(B
e$BJ}8~@-$KBg$-$/1F6A$9$k$O$:$G$9!%$=$7$F!$J#AG4X?t72$r%5%]!<%H$9$k>l9g$Ne(B

e$B$J$/$O$J$$$+$b$7$l$^$;$s!#0l1~!“e(BC99
e$B$O$D$+$o$J$$$3$H$K$9$k!”$H$+!#e(B

e$BB<ED$5$s$O!“e(BC e$B$Ne(B Complex
e$B7?$r$D$+$($PB.$/$J$k!”$H$$$&$h$&$J$3$H$OD>@\e(B
e$BE*$K$$$o$J$$$h$&$K$7$F$$$k$h$&$G$9$M!#$?$V$s!"$=$&$7$F$be(B Complex
e$B$,7`e(B
e$BE*$KB.$/$J$/$o$1$G$b!“e(Bruby
e$B$N?tCM1i;;G=NO$,HtLvE*$K8~>e$9$k$o$1$G$b$Je(B
e$B$$$3$H$rCN$C$F$$$k$+$i$8$c$J$$$+$J!”$H;W$C$F$$$^$9!#e(B

e$B<j85$G>/$7%F%9%H$7$?$H$3$m$G$O!"$^$C$?$/B.EY2~A1$N$?$a$NG[N8$,$J$$AGKQe(B
e$B$Je(B Complex e$B$He(B RVALUE e$B$r3HBg$9$k$J$IM-Mx$J>r7o$,$"$ke(B
ComplexFloat e$B$rHfe(B
e$B$Y$F$b6C$/$[$I$N0c$$$O$J$$$h$&$G$9!#$^$?!"<BAu$He(B API
e$B$OJL!"$H$$$&$3$He(B
e$B$OB<ED$5$s<+?H$,G’$a$i$l$?$H;W$$$^$9!#e(B

e$B2?$,L\E*$G!“2?$,<jCJ$J$N$+$h$/$o$+$i$J$/$J$C$F$$$k5$$,$7$^$9!#e(BC
e$B$Ne(B
Complex
e$B7?$r$D$+$$$5$($9$l$PK~B-!”$H$$$&$3$H$+$b$7$l$J$$$1$I!"KM$+$i$9e(B
e$B$k$H!"8=;~E@$G$=$l$,I,$:$7$b:GA1$H$b;W$($^$;$s!#e(B

e$B$3$N7o$O!":G=i$K$$$C$?$h$&$K!"<BAu$NLdBj$G$7$+$J$$$H;W$$$^$9!#e(BC
e$B$Ne(B
Complex
e$B7?$r$D$+$&2DG=@-$OH]Dj$7$^$;$s$,!“8=;~E@$G!”$D$+$(!"$D$+$o$J$$e(B
e$B$N$O$$+$7$$!"$H$o$l$k6Z$O$J$$!"$H8D?ME$K$OH=CG$7$^$7$?!#e(B

e$B$3$NA0!":XF#$5$s$,>R2p$7$F$/$l$?$h$&$J$3$H$b$"$j$^$9$7!":#$9$02?$+$7$Je(B
e$B$1$l$P$J$i$J$$$3$H$G$b$"$j$^$;$s!#$$$:$l!“B.EY2~A1$J$I$,I,MW$@$HH=CG$7e(B
e$B$?>l9g!”$=$N;~NI$$$H;W$($P!“e(BC e$B$Ne(B Complex
e$B7?$r$D$+$&$3$H$b$”$k$N$+$b$7e(B
e$B$l$^$;$s!#:#$O$^$@!"e(BComplex
e$B$NAH$9~$<+BN$,@5<0$K7h$^$k$+$I$&$+$o$+$ie(B
e$B$J$$;~4|$G$9!#e(B

e$B$3$N7o$O!“e(BComplex e$B<+BN$b4^$a$F!”$^$D$b$H$5$s$KMB$1$^$9!#e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:34324] Re: ComplexFloat”
on Fri, 11 Apr 2008 08:19:16 +0900, Tadayoshi F.
[email protected] writes:

|e$B$3$N7o$O!“e(BComplex e$B<+BN$b4^$a$F!”$^$D$b$H$5$s$KMB$1$^$9!#e(B

e$B$"$j$,$H$&$4$6$$$^$9!#;d$H$7$F$Oe(B[ruby-dev:34322]e$B$N$h$&$K9M$(e(B
e$B$F$$$^$9!#0J8e!"B<ED$5$s$H$NBPOC$O<g$K;d$,0z$-<u$1$^$9!#e(B

e$B$,!“;d$N?t3XECN<1e(B(e$B$$h$SAGM\e(B)e$B$NL5$5$,>c32$K$J$C$?;~$K$O!”$_e(B
e$B$J$5$s$K=u$1$F$$$?$@$-$?$$$H;W$$$^$9!#e(B

e$B$`$i$?$G$9!%e(B

2008/4/11 Yukihiro M. [email protected]:

  • e$B3HD%%i%$%V%i%j$N=q$-$d$9$5e(B

e$B$NOC$,F1;~$K=P$F$/$k$N$GH=CG$7$,$?$$$G$9!#e(B

e$B;d$N<g4c$O!$>e5-$Ne(B4e$B$DA4$F!$$*$h$S!$$U$J$P$5$s$Ne(B Complex
(e$B%3%s%F%J$H$7$F$Ne(B Complex)
e$B$H$N6&B8$r$G$-$k8B$j<B8=$9$k$3$H$G$9!%e(B

e$B$$$H$$$&A0Ds$G$O5U$K!Ve(BFloate$B$rFCJL07$$$7$Fe(BVALUEe$B$G;}$?$J$$I,MWe(B
e$B@-!W$O$^$@7kO@$,=P$F$$$J$$e(B(e$B8D?ME*$K$O>C6KE*e(B)e$B$G$9!#e(B

e$B>e5-e(B4e$B9`L$K$D$$$FF~$jMp$l$F$$$?$3$H$GJ,$+$j$K$/$/$J$C$F$$$k$H$7$?$ie(B
e$B?=$7J,$1$"$j$^$;$s$G$7$?!%e(B

e$B$5$F!"8DJL$NO@E@$K$D$$$F@0M}$7$^$7$g$&!#e(B

e$B$^$:!“5!G=%;%C%H$K$D$$$F$OH?BP$7$^$;$s!#$^$?!”$=$N<BAu$H$7$Fe(B
(e$B$"$l$Pe(B)C99 complexe$B$r7PM3$9$k$N$b$h$$$H;W$$$^$9!#$?$@$7!"e(BC99
e$B$rI,?$K$9$k$N$OEvLLHr$1$?$$$N$G!“MxMQ$9$k$K$7$F$b7k6I8_49AXe(B
e$B$rMQ0U$9$kI,MW$,$”$k$H;W$$$^$9!#e(B

e$B8_49AX$O@hF|$Ne(B patch
e$B$K4^$s$G$“$k$N$G!$$”$l$rMxMQ$G$-$k$O$:$G$9!%e(B

e$BFbIt<BAu$K$D$$$F$G$9$,!"0JA0$$$?$@$$$?%Q%C%A$N$h$&$KD>@%*%Ve(B
e$B%8%'%/%H$KKd$a9~$`$N$OA4BN$N%a%b%j8zN($rDc2<$5$;$k$N$G:NMQ$7e(B
e$B$,$?$$$G$9!#e(B

e$B3N$+$K$=$N$H$$j$@$H;W$$$^$9!%;d$be(B RVALUE e$B$Xe(B double _Complex
e$B$re(B
e$BKd$a9~$`<BAu$O<h$j2<$2$^$9!%$=$NBe$o$j$H$7$F!$e(Bdouble _Complex

e$B$r;}$?$;$k<BAu$rDs0F$7$?$$$G$9!%<B$O$=$&$9$k;v$G!$J#AG?tCM$Ne(B
e$B%a%b%j%“%i%$%a%s%H$rD4@0$G$-$k2DG=@-$,$G$F$-$^$7$?!%$9$k$H!$e(B
e$B%”!<%-%F%/%A%c$K$h$C$F$OCM$N%l%8%9%?$X$NE>Aw$,9bB.2=$7$^$9!%e(B
(e$B$H$$$C$F$b$3$l$OK\Ev$K:3:Y$J0c$$$G$7$+$"$j$^$;$s$Me(B)

e$BFHN)$7$?e(BComplexFloat(e$B$“$k$$$Oe(BFloatComplex?)e$B%/%ie(B
e$B%9$r:NMQ$9$k$H7h$a$k$^$G$O$3$l$OJ]N1$9$k$N$,$h$$$N$G$O$J$$$+e(B
e$B$H;W$$$^$9!#8D?ME*$K$O$”$^$jFHN)$7$?%/%i%9$rF3F~$7$?$/$J$$$Ge(B
e$B$9$,!#e(B

e$B$U$J$P$5$s$Ne(B Complex [email protected],%/%i%9e(B (Fixnum, Bignum,
Rational, Float)
e$B$G%a%=%C%I$,:FDj5A$5$l$?$H$-$K$=$N1F6A$rHo$j$^$9!%$3$l$O!$e(BComplex
e$B$,e(B
e$B%3%s%F%J$H$7$F<BAu$5$l$F$$$k$+$i$G$9!%e(B

e$B$=$l$KBP$7$F!$e(BComplexFloat (e$B$“$k$$$Oe(B FloatComplex)
e$B$rB>$N%/%i%9$Ne(B
e$B%a%=%C%I:FDj5A$K1F6A$5$l$J$$7O$H$7$FF3F~$G$-$^$;$s$+!)e(B
e$B$D$^$j!$%3%s%F%J$G$O$J$$J#AG?t$H$7$FB8:_$7$F$b$i$$$?$$$N$G$9!%e(B
e$BF1$8M}M3$G%3%s%F%J$G$O$J$$e(B Rational
e$B$,$”$C$F$bNI$$$H;W$$$^$9!%e(B
e$B<+J,$N%/%i%9$@$1$GJD$8$F$$$l$Pe(B YARV e$B$G$N:GE,2=$,2DG=$G$9!%e(B

e$B8zN($K$D$$$F$G$9$,!"%a%b%j$O$G$-$k$@$1>CHq$7$J$$!"B.EY$OB.$$e(B
e$B$K1[$7$?$3$H$O$J$$$G$9$,!"B(CM$G$J$$0J>e!“8B3&$,$”$k$H;W$$$^e(B
e$B$9!#e(B

C99 e$B$Ne(B double _Complex
e$B$r;H$&>l9g!$CM$N%m!<%I!&%9%H%“$*$h$S1i;;$b4^$a$Fe(B
e$B%3%s%Q%$%i$K$h$k:GE,2=$r4|BT$G$-$^$9!%e(BC99 e$B$r;H$o$:$Ke(B double
2e$B8D$NG[Ns$re(B
e$B;H$&>l9g$G$b!$%”!<%-%F%/%A%c$K$h$C$F$Oe(B SIMD
e$BL?Na$r;H$C$?:GE,2=$,2DG=$G$9!%e(B

e$B$^$!!$$3$l$b:3:Y$J$3$H$@$H8@$o$l$l$P$=$l$^$G$G$9$,!%e(B

e$B$^$?!“e(BRubye$B$+$i8F$S=P$90J>e!”%a%=%C%I8F$S=P$7$N%3%9%H$,Bge(B
e$B$-$$$N$G!“;vA0$NM=B,$O:$Fq$G$9$+$i$”$^$j5^$$$G:GE,2=$K$D$$$Fe(B
e$B9M$($kI,MW$O$J$5$=$&$K;W$$$^$9!#e(B

e$B$3$l$O>e=R$7$?$h$&$K!$e(BComplexFloat (e$B$"$k$$$Oe(B FloatComplex)
e$B$rJD$8$?e(B
e$B1i;;7O$r;}$D%3%s%F%J$G$O$J$$J#AG?t$H$7$F<BAu$9$l$P!$e(B
YARV e$B$K$h$k:GE,2=$r<B8=$G$-!$e(BComplex e$B$N<BAu$N$h$&$K!$e(B
rb_funcall e$B$r<!!9$H8F$S=P$9I,MW$OL5$$$N$G9bB.2=$,K>$a$^$9!%e(B

e$B$^$?!$e(BComplexFloat
e$BF1;N$N1i;;$r$^$H$a$F:GE,2=$9$k$3$H$b2DG=$G$9$h$M!%e(B
e$B$3$l$b!$$d$k$H$7$?$ie(B YARV e$B$G<B8=$9$k$3$H$K$J$j$^$9!%e(B

e$B$3$&$$$C$?>-MhE*$J:GE,2=$N2DG=@-$OMxE@$H9M$($F$h$$$H;W$&$N$G$9$,e(B
e$BG!2?$G$7$g$&$+!%e(B

e$B:G8e$K3HD%%i%$%V%i%j$N=q$-$d$9$5$G$9$,!“e(BC99e$B$rI,?$K$G$-$J$$e(B
e$BE@$J$I$+$i$”$kDxEY:$Fq$r$H$b$J$$$^$9$,!“7k6I$Oe(BCe$B$Ne(Bcomplexe$B$rI=e(B
e$B8=$9$k%G!<%?$He(BRubye$B$N%*%V%8%'%/%H$rAj8_JQ49$9$ke(BAPIe$B$,$”$k$+$Ie(B
e$B$&$+$K5"7k$9$k$h$&$K;W$$$^$9!#$3$l$OFbIt<BAu$r$I$N$h$&$K$9$ke(B
e$B$+$H$OFHN)$NOC$G$9!#e(B

e$B3N$+$Ke(B API
e$B$rMQ0U$9$k$3$H$G3HD%%b%8%e!<%k$,:n$j0W$/$J$k$H$$$&<gD%$Oe(B
e$B0UL#$r;}$?$J$/$J$j$^$9$M!%$?$@$7!$$3$l$OFH<+%/%i%9$r:n$i$J$$$H$$$&e(B
e$BA0Ds$G$NOC$7$G$9!%e(B

e$BEDCf$5$s$N%"%I%P%$%9$G!$FH<+%/%i%9$r:n$i$J$/$F$bNI$$$+$J$H;W$$=i$a!$e(B
e$B$=$l$KBP$7$F$^$D$b$H$5$s$b!VMn$H$7=j$,8+$D$+$C$?!W$H6D$C$F$$$^$7$?!%e(B
e$B$7$+$7$J$,$i!$;d$,M_$7$+$C$?e(B ComplexFloat
e$B$O%3%s%F%J$G$O$J$$J#AG?t!$e(B
e$B$D$^$j1i;;7O$,JD$8$F$$$kJ#AG?t$J$N$G!$%U%i%0$GFbIt<BAu$r@Z$jBX$($ke(B
Complex e$B$NFbIt<BAu$r%U%i%0$G@Z$jBX$($k7A$G$O%@%a$G$7$?!%e(B

e$B$H$3$m$G!$e(Bcomplex.rb
e$B$,AH9~$$K$J$k$3$H$GF@$i$l$kMxE@$O2?$G$9$+!)e(B
e$B8=:
$Ne(B complex.c e$B$N;EMM$J$ie(B Ruby
e$B$G$b<BAu$G$-$k$7!$$`$7$m$=$NJ}$,e(B
e$B%a%s%F%J%s%9$7$d$9$$$H;W$&$N$G$9!%e(B

e$B;d$,M_$7$$%3%s%F%J$G$O$J$$J#AG?t$H$7$F$Ne(B ComplexFloat
e$B$,5Q2<$5$l$ke(B
e$B:GBg$NM}M3$O!$4{$K$U$J$P$5$s$Ne(B Complex e$B$,AH9~$^$l$F$$$F!$e(B
e$B$=$l$H$N:.Mp$,M=A[$5$l$k$+$i$G$9$h$M!)e(B

e$BAH9~$$K$9$k$3$H$G1i;;Ey$N:GE,2=$,K>$a$ke(B ComplexFloat
e$B$G$O$J$/!$e(B
complex.rb e$B$Ne(B Complex e$B$re(B C
e$B$KD>Lu$7$FAH9~$
$K$9$kM}M3$,CN$j$?$$$G$9!%e(B

e$BF1MM$NM}M3$G!$e(BRational e$B$K$D$$$F$b!$e(BFixnum e$B$He(B Bignum
e$B0J30$r;}$D;v$Oe(B
e$BA[Dj$7$F$$$J$$e(B [ruby-dev:34317]
e$B$N$K!$$J$<1i;;7O$,<+J,$N%/%i%9$Ge(B
e$BJD$8$F$J$$$N$+5$$K$J$j$^$9!%$=$NM}M3$r65$($F$$$?$@$1$^$;$s$+!)e(B

e$B$3$l$i$O!$$U$J$P$5$s$K<ALd$9$Y$-$G$7$g$&$+!)e(B

e$B$h$m$7$/$*4j$$$7$^$9!%e(B

e$B$`$i$?$G$9!%e(B

2008/4/11 Tadayoshi F. [email protected]:

e$B$@$H$9$k$H!$$U$J$P$5$s$O;d$NDs0F$N2?$KBP$7$F!V$$$S$D!W$G$"$k$He(B
e$B$*46$8$K$J$C$F$$$k$N$G$7$g$&$+!)$=$3$,$^$@M}2r$G$-$F$$$J$$$N$Ge(B
e$B65$($F$/$@$5$$!%e(B

Rational e$B$G!"<+A0$Ne(B Bignum e$B$rMQ0U$7$??M$O!“e(BRational e$B$N;v$@$19M$($F$?$se(B
e$B$8$c$J$$$G$7$g$&$+!#$=$N$”$?$j$,$$$S$D$N860x$@$H;W$$$^$9!#e(B

e$B;DG0$J$,$i!$$=$l$,$$$S$D$G$"$k$H$O46$8$i$l$J$$$s$G$9$h$M!%e(B
Rational e$B0J30$H$NAj8_:nMQ$Oe(B coerce e$B$rE,@Z$KDj5A$9$k$3$H$Ge(B
e$B$I$&$H$G$b$G$-$^$9$h$M!%e(BFixnum/Bignum e$B0J30$O;}$?$J$$;v$re(B
e$BA[Dj$7$F$$$k$N$G$7$?$i!$e(BRational e$B$r%3%s%F%J$H$7<BAu$9$ke(B
e$BI,MW@-$bL5$$!$$H$$$&$N$,;d$N9M$(J}$G$9!%e(B

e$B>/$J$/$H$be(B C99 e$B$NJ#AG4X?t72$r%5%]!<%H$9$k$+H]$+$Oe(B Ruby e$B$N?tCM7O$Ne(B
e$BJ}8~@-$KBg$-$/1F6A$9$k$O$:$G$9!%$=$7$F!$J#AG4X?t72$r%5%]!<%H$9$k>l9g$Ne(B

e$B$J$/$O$J$$$+$b$7$l$^$;$s!#0l1~!“e(BC99 e$B$O$D$+$o$J$$$3$H$K$9$k!”$H$+!#e(B

C99 e$B$C$F$=$s$J$K7y$o$l$F$k$s$G$9$+$M$'e(B >_<

e$BB<ED$5$s$O!“e(BC e$B$Ne(B Complex e$B7?$r$D$+$($PB.$/$J$k!”$H$$$&$h$&$J$3$H$OD>@\e(B
e$BE*$K$$$o$J$$$h$&$K$7$F$$$k$h$&$G$9$M!#$?$V$s!"$=$&$7$F$be(B Complex e$B$,7`e(B
e$BE*$KB.$/$J$/$o$1$G$b!“e(Bruby e$B$N?tCM1i;;G=NO$,HtLvE*$K8~>e$9$k$o$1$G$b$Je(B
e$B$$$3$H$rCN$C$F$$$k$+$i$8$c$J$$$+$J!”$H;W$C$F$$$^$9!#e(B

e$B:#$^$G$OD>@\E*$JI=8=$OHr$1$^$7$?$,!$@hDx$^$D$b$H$5$s$N%a!<%k$X$NJV?.$Ge(B
e$B$=$N$3$H$bL@5-$7$^$7$?!%e(BC99 e$B$Ne(B _Complex
e$B$GB.$/$J$k$+$I$&$+$O%3%s%Q%$%ie(B
e$B$H%i%$%V%i%j$K0MB8$7$^$9!%e(B

ruby e$B$N?tCM1i;;G=NO$N8~>e$O!$e(BC99 e$B$Ne(B _Complex
e$B$r;H$&;v$H$OJLLdBj$G$9!%e(B
e$B$R$H$DA0$N%a!<%k$K$b=q$$$?$h$&$K!$%3%s%F%J$G$O$J$$J#AG?t$,$"$l$P!$e(B
YARV e$B$G1i;;$N:GE,2=$r$9$k$3$H$,$G$-$^$9!%e(B

e$B<j85$G>/$7%F%9%H$7$?$H$3$m$G$O!“$^$C$?$/B.EY2~A1$N$?$a$NG[N8$,$J$$AGKQe(B
e$B$Je(B Complex e$B$He(B RVALUE e$B$r3HBg$9$k$J$IM-Mx$J>r7o$,$”$ke(B ComplexFloat e$B$rHfe(B
e$B$Y$F$b6C$/$[$I$N0c$$$O$J$$$h$&$G$9!#$^$?!“<BAu$He(B API e$B$OJL!”$H$$$&$3$He(B
e$B$OB<ED$5$s<+?H$,G’$a$i$l$?$H;W$$$^$9!#e(B

e$B;d$Ne(B patch
e$B$O<BAu0F$r<($9$?$a$K5^$$$G:n$C$?$b$N$G!$$R$H$D$b:GE,2=$5$l$Fe(B
e$B$$$^$;$s!%$7$+$7!$$"$N<BAu$+$i$N:GE,2=$O2DG=$G$9$h$M!%e(B

e$B$A$J$$K!$e(BRVALUE e$B$N3HBg$OITMx$J>r7o$G$9e(B ><

e$B2?$,L\E*$G!“2?$,<jCJ$J$N$+$h$/$o$+$i$J$/$J$C$F$$$k5$$,$7$^$9!#e(BC e$B$Ne(B
Complex e$B7?$r$D$+$$$5$($9$l$PK~B-!”$H$$$&$3$H$+$b$7$l$J$$$1$I!"KM$+$i$9e(B
e$B$k$H!"8=;~E@$G$=$l$,I,$:$7$b:GA1$H$b;W$($^$;$s!#e(B

e$BJ#AG?t$NI=8=$re(B C
e$B$G;}$D;v$NMxE@$O!$J#AG?t%/%i%9$N1i;;$,B>$N%/%i%9$Ke(B
e$B0MB8$;$:$K7hDj$G$-$k;v$G$9!%$=$l$G!$A0$K$b=R$Y$^$7$?$,!$%3%s%F%J$H$7$Fe(B
e$B$NJ#AG?t$bI,MW$J$N$G!$K\Ev$O$I$C$A$bAH9~$^$l$F$$$k$Y$-$@$H;W$&$s$G$9!%e(B
e$B;d$K$H$C$F$N:GA1$O!$$U$J$P$5$s$Ne(B Complex e$B$HKM$Ne(B ComplexFloat
e$B$,6&B8e(B
e$B$9$k$3$H$G$9!%$=$7$F!$$=$l$,e(B Ruby
e$B$K$H$C$F$b:GA1$G$"$k$H?.$8$F$$$^$9!%e(B

e$B$3$N7o$O!“:G=i$K$$$C$?$h$&$K!”<BAu$NLdBj$G$7$+$J$$$H;W$$$^$9!#e(BC e$B$Ne(B
Complex e$B7?$r$D$+$&2DG=@-$OH]Dj$7$^$;$s$,!“8=;~E@$G!”$D$+$(!"$D$+$o$J$$e(B
e$B$N$O$$+$7$$!“$H$o$l$k6Z$O$J$$!”$H8D?ME$K$OH=CG$7$^$7$?!#e(B

e$BAH9~$%/%i%9$K$J$k2DG=@-$,$"$C$?$N$G!$6/$/H]Dj$7$^$7$?!%e(B
e$B$b$7!$!VI8=`E:IU%i%$%V%i%j$N$^$^<BAu$,e(B C
e$B$K$J$j$^$7$?!W$H$$$&e(B
e$B$@$1$@$C$?$i2?$b8@$o$J$+$C$?$H;W$$$^$9!%AH9~$
$K$J$k$H$$$&$3$H$O!$e(B
ruby e$B$r5/F0$7$?$@$1$G$=$3$Ke(B Complex
e$B$,B8:$9$k$3$H$K$J$j$^$9!%e(B
require “complex” e$B$7$J$1$l$PB8:
$7$J$$e(B Complex
e$B$H!$2?$b$7$J$/$F$be(B
e$BB8:_$9$ke(B Complex
e$B$G$O0UL#$,0c$$$^$9$h$M!)AH9~$_2=$C$F$=$N$/$i$$e(B
e$BBg$-$J1F6A$,$"$k$H;W$&$s$G$9$h!%e(B

e$B$3$NA0!“:XF#$5$s$,>R2p$7$F$/$l$?$h$&$J$3$H$b$”$j$^$9$7!“:#$9$02?$+$7$Je(B
e$B$1$l$P$J$i$J$$$3$H$G$b$”$j$^$;$s!#$$$:$l!“B.EY2~A1$J$I$,I,MW$@$HH=CG$7e(B
e$B$?>l9g!”$=$N;~NI$$$H;W$($P!“e(BC e$B$Ne(B Complex e$B7?$r$D$+$&$3$H$b$”$k$N$+$b$7e(B
e$B$l$^$;$s!#:#$O$^$@!"e(BComplex e$B$NAH$9~$<+BN$,@5<0$K7h$^$k$+$I$&$+$o$+$ie(B
e$B$J$$;~4|$G$9!#e(B

e$B;d$OFI$_0c$($F$$$?$+$b$7$l$^$;$s!%e(BComplex
e$B$NAH9~$_2=$O$[$H$s$I7hDje(B
e$B$5$l$F$$$k$b$N$@$H$P$+$j;W$C$F$$$^$7$?!%$b$7$+$7$?$iAH$9~$%/%i%9e(B
e$B$G$O$J$/$J$k2DG=@-$b$"$k$s$G$9$+!)e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:34328] Re: ComplexFloat”
on Fri, 11 Apr 2008 15:49:53 +0900, “Kenta M.”
[email protected] writes:

|e$B$U$J$P$5$s$Ne(B Complex [email protected],%/%i%9e(B (Fixnum, Bignum, Rational, Float)
|e$B$G%a%=%C%I$,:FDj5A$5$l$?$H$-$K$=$N1F6A$rHo$j$^$9!%$3$l$O!$e(BComplex e$B$,e(B
|e$B%3%s%F%J$H$7$F<BAu$5$l$F$$$k$+$i$G$9!%e(B

e$B8=:_$N<BAu$G$O3N$+$K$=$&$J$C$F$$$^$9$,!"$3$l$O;EMM$N0lIt$G$“e(B
e$B$k$H$OG’<1$7$F$$$^$;$s!#$N$G!”$=$l$r7x;}$9$k$?$a$KJL$NJD$8$?e(B
e$B7O$H$7$F$Ne(BComplexFloate$B$rF3F~$9$kI,A3@-$b46$8$F$$$^$;$s!#e(B

|e$BF1MM$NM}M3$G!$e(BRational e$B$K$D$$$F$b!$e(BFixnum e$B$He(B Bignum e$B0J30$r;}$D;v$Oe(B
|e$BA[Dj$7$F$$$J$$e(B [ruby-dev:34317] e$B$N$K!$$J$<1i;;7O$,<+J,$N%/%i%9$Ge(B
|e$BJD$8$F$J$$$N$+5$$K$J$j$^$9!%$=$NM}M3$r65$($F$$$?$@$1$^$;$s$+!)e(B

e$B$3$l$b8=:_$Ne$NM}M3$@$H;W$$$^$9!#e(B

e$BKNIt$GC1=c$J5?Ld$J$N$G$9$,!"e(B

Kenta M. e$B$5$s$O=q$-$^$7$?e(B:

e$B$^$?!“e(BRubye$B$+$i8F$S=P$90J>e!”%a%=%C%I8F$S=P$7$N%3%9%H$,Bge(B
e$B$-$$$N$G!";vA0$NM=B,$O:$Fq$G$9$+$i$"$^$j5^$$$G:GE,2=$K$D$$$Fe(B
e$B9M$($kI,MW$O$J$5$=$&$K;W$$$^$9!#e(B

e$B$3$l$O>e=R$7$?$h$&$K!$e(BComplexFloat (e$B$"$k$$$Oe(B FloatComplex) e$B$rJD$8$?e(B
e$B1i;;7O$r;}$D%3%s%F%J$G$O$J$$J#AG?t$H$7$F<BAu$9$l$P!$e(B
YARV e$B$K$h$k:GE,2=$r<B8=$G$-!$e(BComplex e$B$N<BAu$N$h$&$K!$e(B
rb_funcall e$B$r<!!9$H8F$S=P$9I,MW$OL5$$$N$G9bB.2=$,K>$a$^$9!%e(B

YARVe$B$C$F$=$s$J5!G=$,$"$k$s$G$9$+e(B?e$B$"$k$$$ODs6!M=Dj$G$9$+e(B?e$B$"$k$$$O86M}E*$Ke(B
e$B2DG=$G$9$+e(B?

e$B$`$i$?$G$9!%e(B

2008/4/11 Urabe S. [email protected]:

e$B$3$l$O>e=R$7$?$h$&$K!$e(BComplexFloat (e$B$"$k$$$Oe(B FloatComplex) e$B$rJD$8$?e(B
e$B1i;;7O$r;}$D%3%s%F%J$G$O$J$$J#AG?t$H$7$F<BAu$9$l$P!$e(B
YARV e$B$K$h$k:GE,2=$r<B8=$G$-!$e(BComplex e$B$N<BAu$N$h$&$K!$e(B
rb_funcall e$B$r<!!9$H8F$S=P$9I,MW$OL5$$$N$G9bB.2=$,K>$a$^$9!%e(B

YARVe$B$C$F$=$s$J5!G=$,$“$k$s$G$9$+e(B?e$B$”$k$$$ODs6!M=Dj$G$9$+e(B?e$B$"$k$$$O86M}E*$Ke(B
e$B2DG=$G$9$+e(B?

Fixnum e$B$KBP$7$F;w$?$h$&$J:GE,2=$,9T$J$o$l$F$$$^$9$h$M!%$G$9$+$i!$e(B
e$BJD$8$?1i;;7O$r;}$D%/%i%9$K$D$$$F$O86M}E*$KF1MM$N:GE,2=$,2DG=$J$s$8$ce(B
e$B$J$$$+$H;W$C$F$$$k$s$G$9$,!$4V0c$C$F$$$^$9$+!)e(B

e$B5^$KIT0B$K$J$C$F$-$?!&!&!&e(B

e$B!!$5$5$@$G$9!%e(B

Kenta M. wrote:

Fixnum e$B$KBP$7$F;w$?$h$&$J:GE,2=$,9T$J$o$l$F$$$^$9$h$M!%$G$9$+$i!$e(B
e$BJD$8$?1i;;7O$r;}$D%/%i%9$K$D$$$F$O86M}E*$KF1MM$N:GE,2=$,2DG=$J$s$8$ce(B
e$B$J$$$+$H;W$C$F$$$k$s$G$9$,!$4V0c$C$F$$$^$9$+!)e(B

e$B!!2?$r$I$3$^$G!$$H$$$&$N$rGD0.$7$F$$$J$$$N$G$9$,!$6I=jE*$J:GE,2=$O2De(B
e$BG=$+$H;W$$$^$9!%e(B

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:34340] Re: ComplexFloat”
on Fri, 11 Apr 2008 18:36:41 +0900, “Kenta M.”
[email protected] writes:

|e$BJ#AG?t$K$D$$$F$O!$$I$A$i$bI,MW$G$9!%8=:e(B Ruby e$B$KG$0U@)EY$N>.?t$re(B
|e$BI=8=$G$-$k%/%i%9$,AH9~$
$GDs6!$5$l$F$$$J$$$N$G!$e(BBigDecimal e$B$N$h$&$Je(B
|e$B%/%i%9$r;H$C$FJ#AG?t$r<B8=$9$k$H$-$O%3%s%F%J7?$NJ#AG?t$,I,MW$K$J$j$^$9!%e(B
|e$B$G$9$+$i!$$U$J$P$5$s$Ne(B Complex e$B$,%3%s%F%JE*$G$"$k;v$Oe$NET9ge(B
|e$B$G$O$J$/$F!$K\Mh$N;EMM$N0lIt$K$9$Y$-$G$9!%e(B

e$B$J$k$[$I!#e(B

|e$B$=$N>e$G!$$d$O$jJD$8$?J#AG?t$b$“$k$Y$-$@$H;W$$$^$9!%$=$7$F!$:GE,2=Ey$Ne(B
|e$B2DG=@-$r9M$($l$P!$JD$8$?J#AG?t$,AH9~$_$GDs6!$5$l$F$$$kJ}$,<+A3$G$”$ke(B
|e$B$H;W$$$^$9!%e(B

e$BC1=c$5$dB>$N%/%i%99=@.$H$N@09g@-$r5>@7$K$7$F$^$GJD$8$?J#AG?te(B
e$B%/%i%9$rJL$KMQ0U$9$Y$-M}M3$O:GE,2=$@$1$G$9$+!)e(B

e$B8=:$Ne(BYARVe$B$N:GE,2=<BAu$r9M$($k$H!"AH$9~$%/%i%9e(B(e$B$?$H$($Pe(B
Float)e$B$,JQ99$5$l$F$$$J$$;~$K$O9bB.$J%W%j%
%F%#%V$,F0$/$H$$$&e(B
e$BF0:n$re(BComplex(e$B$de(BRational)e$B$KE,MQ$7$F$O$$$1$J$$e(B(or
e$B$G$-$J$$e(B)e$BM}e(B
e$BM3$OL5$$$H;W$&$N$G$9$,!#e(B

                            e$B$^$D$b$He(B e$B$f$-$R$me(B /:|)

e$B$`$i$?$G$9!%e(B

2008/4/11 Yukihiro M. [email protected]:

|e$B$U$J$P$5$s$Ne(B Complex [email protected],%/%i%9e(B (Fixnum, Bignum, Rational, Float)
|e$B$G%a%=%C%I$,:FDj5A$5$l$?$H$-$K$=$N1F6A$rHo$j$^$9!%$3$l$O!$e(BComplex e$B$,e(B
|e$B%3%s%F%J$H$7$F<BAu$5$l$F$$$k$+$i$G$9!%e(B

e$B8=:_$N<BAu$G$O3N$+$K$=$&$J$C$F$$$^$9$,!"$3$l$O;EMM$N0lIt$G$“e(B
e$B$k$H$OG’<1$7$F$$$^$;$s!#$N$G!”$=$l$r7x;}$9$k$?$a$KJL$NJD$8$?e(B
e$B7O$H$7$F$Ne(BComplexFloate$B$rF3F~$9$kI,A3@-$b46$8$F$$$^$;$s!#e(B

e$BJ#AG?t$K$D$$$F$O!$$I$A$i$bI,MW$G$9!%8=:e(B Ruby
e$B$KG$0U@)EY$N>.?t$re(B
e$BI=8=$G$-$k%/%i%9$,AH9~$
$GDs6!$5$l$F$$$J$$$N$G!$e(BBigDecimal
e$B$N$h$&$Je(B
e$B%/%i%9$r;H$C$FJ#AG?t$r<B8=$9$k$H$-$O%3%s%F%J7?$NJ#AG?t$,I,MW$K$J$j$^$9!%e(B
e$B$G$9$+$i!$$U$J$P$5$s$Ne(B Complex
e$B$,%3%s%F%JE*$G$"$k;v$Oe$NET9ge(B
e$B$G$O$J$/$F!$K\Mh$N;EMM$N0lIt$K$9$Y$-$G$9!%e(B

e$B$=$N>e$G!$$d$O$jJD$8$?J#AG?t$b$“$k$Y$-$@$H;W$$$^$9!%$=$7$F!$:GE,2=Ey$Ne(B
e$B2DG=@-$r9M$($l$P!$JD$8$?J#AG?t$,AH9~$_$GDs6!$5$l$F$$$kJ}$,<+A3$G$”$ke(B
e$B$H;W$$$^$9!%e(B

In article
[email protected],
“Kenta M.” [email protected] writes:

e$B8=:_$Ne(B Complex e$B$O<BIt$,e(B Float e$B$G5uIt$,e(B Rational e$B$N$h$&$J>uBV$K$J$l$^$9!%e(B
e$B$G$9$+$i!$e(BComplex e$B$KBP$7$F$=$N$h$&$J:GE,2=$r9T$&[email protected],$N7?8!::$re(B
e$B<BIt!&5uIt$KJ,$1$FKh2s9T$&I,MW$,$"$j$^$9!%e(BComplexFloat e$B$rF3F~$9$k$H!$e(B
e$B%G!<%?%U%m!<2r@O$G3N<B$Ke(B ComplexFloat e$B$K$J$k$3$H$,J,$+$C$F$$$kItJ,$Oe(B
e$B7?8!::$J$7$G:GE,2=$G$-$^$9!%e(B

Ruby e$B%W%m%0%i%`$KBP$9$k%G!<%?%U%m!<2r@O$C$F$I$&$d$k$s$G$9$+e(B?