ComplexFloat

e$B;d$N8@$&;v$r$=$N$^$^?J$a$l$P!“e(BArray(Integer) e$B7?$J$I$,I,MW$H$J$k$H$$$&$Ne(B
e$B$O!“3N$+$K$=$N$^$^?J$a$l$P$=$&$$$&$3$H$K$J$k$N$G$9$,!”;d$O!VJ#AG?t$K8B$Ce(B
e$B$F!We(B Complex(Float) e$B7?$N$h$&$J$b$N$r?d$7$F$$$^$9!#B?J,!“J#AG?t$rMxMQ$9e(B
e$B$k?M$NBgItJ,$O$=$l$,M_$7$$$N$@!”$H$$$&?dDj$,$”$k$+$i$G$9!#e(B

e$B@0?t$J$I$r5qH]$9$kM}M3$,$h$/$o$i$J$$$G$9$,!"<YKb$K$J$k$H$$$&$3$H$J$s$Ge(B
e$B$9$+$M!#e(B

Complex(Float,Float)
e$B$O:G=i$+$i1x@w$5$l$?B8:_$J$N$G!“BgItJ,$N?M$,$3$le(B
e$B$rMxMQ$9$k$H$$$&$J$i!”$H$/$K5$$r$D$+$&$Y$-$H$3$m$b$J$$$h$&$K;W$$$^$9!#e(B

Complex
e$B$K8B$i$J$$$G$9$,!"@53N$G$bHs@53N$G$b$=$l$J$j$K7W;;$9$k$7$+$J$$e(B
e$B$N$G!"e(BComplex
e$B$G!"0lN’$KDj$^$i$J$$$+$i$h$/$J$$$H$$$&$3$H$b$J$$$H;W$$$^e(B
e$B$9!#e(B

e$B$G!"$3$3$G!"e(Bexact? e$B$He(B inexact?
e$B$NOC$r=P$=$&$H;W$C$?$i!"EDCfE/$5$s$,!"e(B
e$B;W$C$F$$$?$3$H$r40`z$K@bL@$7$F$/$l$^$7$?!#e(Bexact? e$B$He(B inexact?
e$B$O!"4{$Ke(B
e$B%3!<%I$OMQ0U$7$F$$$^$9!#e(B

e$B$&!<$s!“e(BComplex e$B$N;EMM$r6J$2$k5$$O$J$$$s$@$1$I$J$”!#$`$7$me(B Complex e$B$K$Oe(B
e$B$G$-$k$@$1$=$N$^$^$N;EMM$G!"$H$$$&Ds0F$J$s$@$1$I!#2?EY$b8@$$$^$9$,!"e(B
Complex e$B$OI,?$G$9!#e(B

e$B7k6I!“e(BComplexFloat e$B$,AH$9~$$K$J$C$?>l9g$O!”$3$l$,e(B Complex
e$B$K$J$k$H9Me(B
e$B$($F$$$^$9!#e(BComplexFloat (FloatComplex?) e$B$O!"e(BComplexInteger
e$B$H$+!"e(B
ComplexRational
e$B$NB8:_2DG=@-$r0E$K<($7$F$7$^$&$N$bLdBj$K$J$k$H;W$$$^$9!#e(B
e$B4{B8$Ne(B Complex e$B$OK:$l$k$7$+$J$$$h$&$K;W$$$^$9!#e(B

e$BM>CL$G$9$,!"$H$/$K?6Iq$$$N0c$$$r5$$K$7$F!"e(BComplex*
e$B$N$h$&$J$b$N$rF3F~e(B
e$B$9$k$/$i$$$J$i!"e(BTrueInteger
e$B$N$h$&$J$b$N$rF3F~$7$?$[$&$,K<AE*$+$b$7$le(B
e$B$^$;$s!#e(B/ e$B$NLdBj$O!“e(BInteger
e$B$NLdBj$H$b$$$($k$N$G!”$^$H$b$Je(B / e$B$rDj5A$7e(B
e$B$?BeBX$N%/%i%9$rMQ0U$9$k$3$H$GBP=h$,2DG=$J$h$&$K;W$$$^$9!"M}6~$H$7$F$O!#e(B
e$B$b$A$m$s!"0lHV$$$$$N$O!"e(BInteger
e$B<+BN$rJQ99$9$k$3$H$@$H;W$$$^$9!#e(B

Complex e$B$,e(B ComplexFloat
e$BAjEv$K$J$k$H!"?t$NBN7O$G$NJq4^4X78$G$A$g$C$HITe(B
e$B<+A3$K$J$k$H;W$$$^$9!#e(Bmathn
e$B$,L;X$7$F$$$k$b$N$H$NP*N%$b?J$_!"$[$H$s$Ie(B
e$BJx2u$9$k$H;W$$$^$9!#e(B

e$B$7$+$7!"4v$D$+$N%W%m%0%i%_%s%08@8l$r8+EO$9$H!“e(BComplex e$B$He(B ComplexFloat
e$B$NFsF,BN@)$r<h$C$F$$$k$N$O3’L5$G$9$M!#$3$N<gD%$rDL$=$&$H$9$k$H!”$+$J$je(B
e$B5$$,6/$/!D$8$c$J$/$F!D$7$C$+$j$7$?:,5r$r<($5$J$$$H$$$1$J$$$h$&$G$9!#e(B

e$B$h$[$I$N;v$,$J$$8B$jL5M}$8$c$J$$$+$H;W$$$^$9!#e(B

e$B$`$7$m:#$N>u67$J$i!"e(BComplex
e$B$NAH$9~$<+BN$r<h$j>C$5$l$F$b6C$-$^$;$s!#e(B

e$BJ#AG?t$N=|;;$GLdBj$,$"$j$^$9!#e(BScheme e$B$G$Oe(B
(/ 1 1+1i)
e$B$Oe(B 1/2 - 1/2i e$B$+e(B 0.5 - 0.5i e$B$N$I$A$i$+$G$9!#e(B
e$B$7$+$7!"e(B Ruby e$B$Ne(B Complex e$B$G$Oe(B mathn e$B$re(B require e$B$7$J$$>l9ge(B
-i e$B$K$J$j$^$9!#e(B

Scheme e$B$H0c$&$+$i$H$$$&M}M3$O$H$b$+$/!"$3$l$O!“86$5$s$,e(B
ComplexFloat
e$B$rF3F~$9$kM}M3$H$7$F:G=i$K5s$2$?$3$H$G$9$M!#$?$@!“86$5$s$O$3$l<+BN$OJQe(B
e$B99$9$kI,MW$O$J$$!”$H8@$C$F$$$^$9$N$G!”$3$N7o$O86$5$s$K?V$M$F$_$?$[$&$,e(B
e$B$$$$$+$b$7$l$^$;$s!#e(B

e$B$3$N?6Iq$$$r?4Dl@5$7$$$H;W$C$F$$$k?M$O$$$J$$$G$7$g$&!#:#$O!"@PDMHG$N$^e(B
e$B$^$K$J$C$F$$$^$9$,!"$3$N$"$?$j$O:#8eJQ99$5$l$kM>CO$,==J,$"$k$H;W$$$^$9!#e(B

  1. complex e$B$,>o$Ke(B mathn e$B$re(B require e$B$9$k!#e(B

require e$B$O$H$b$+$/!"$=$N$h$&$J?6Iq$$$KJQ99$5$l$k$J$iBg4?7^$G$9!#e(B

e$B$3$s$P$s$Oe(B sheepman e$B$G$9!#e(B

On Sun, 20 Apr 2008 18:08:06 +0900
Tadayoshi F. [email protected] wrote:

e$B5DO@Cf%3%s%F%J$H$$$o$l$kJ}K!e(B (e$B8D?ME*$K0cOB46$,$"$j$^$9$,e(B) e$B$O!"e(BCommon
Lispe$B!"e(BSchemee$B!"e(BSqueake$B!“e(BFactor e$B$J$I$K8+$i$l$^$9!#$3$l$i$K$O%/%i%9$,$J$$e(B
e$B$b$N$b$”$j$^$9$,!“7?$,$”$j!"F1MM$K9M$($F$$$$$H;W$$$^$9!#$3$l$i$ONI$/$Je(B
e$B$$$N$G$7$g$&$+!#$=$l$H$b!“e(Bruby e$B$KFCM-$NLdBj$,$”$k$N$G$7$g$&$+e(B?

e$BJ#AG?t$N=|;;$GLdBj$,$"$j$^$9!#e(BScheme e$B$G$Oe(B
(/ 1 1+1i)
e$B$Oe(B 1/2 - 1/2i e$B$+e(B 0.5 - 0.5i e$B$N$I$A$i$+$G$9!#e(B
e$B$7$+$7!"e(B Ruby e$B$Ne(B Complex e$B$G$Oe(B mathn e$B$re(B require
e$B$7$J$$>l9ge(B
-i e$B$K$J$j$^$9!#e(B

$ ruby-1.9 -ve ‘p 1/(1+Complex::I)’
ruby 1.9.0 (2008-04-24 revision 15721) [i686-linux]
Complex(0, -1)

e$BJ#AG?t$r;H$&>l9g$K5a$a$i$l$k=|;;$NF0:n$O!"e(BScheme
e$B$N$=$l$N$I$A$i$+$@$H;W$$$^$9!#e(B
e$B$J$N$G!"8=:_$Ne(B Ruby e$B$Ne(B Complex e$B$N!Ve(B/
e$B$N0UL#$O<+?H$N<BIt$H5uIt$KG$$;$k!W$H$$$&e(B
e$BJ}?K$OJQ$($k$Y$-$@$H;W$$$^$9!#e(B

e$BA*Br;h$H$7$F$O!"e(B

  1. e$B<BIt$H5uIt$,@0?t$NJ#AG?t$N=|;;$O!"<BIt$H5uIt$re(B Rational
    e$B$KJQ49$7$F$+$i9T$&!#e(B
  2. Complex e$B$r<N$F$Fe(B ComplexFloat e$B$N$_!#e(B
  3. Scheme e$B$Ne(B exact complex e$B$KAjEv$9$ke(B ComplexRational
    e$B$rF3F~$9$k!#e(B
  4. complex e$B$,>o$Ke(B mathn e$B$re(B require e$B$9$k!#e(B

e$B$,$"$m$&$+$H;W$$$^$9!#e(B

e$B86$G$9!#e(B

e$B$@$$$V4V$,6u$$$F$7$^$$$^$7$?!#e(B

Tanaka A. e$B$5$s$O=q$-$^$7$?e(B:

Complex e$B$He(B ComplexFloat e$B$H%/%i%9$r$U$?$D$KJ,$1$kM}M3$,$I$&$Ke(B
e$B$b$o$+$j$^$;$s!#e(B

e$B$=$NM}M3$3$=$A$c$s$H=R$Y$J$$$H$$$1$J$$$N$G$9$,!"$J$+$J$+EA$oe(B
e$B$i$J$$$G$9$M!#$&$^$/I=8=$,$G$-$F$J$$$_$?$$$G$9!#0l1~Ez$($k$3e(B
e$B$H$,$G$-$k$H$3$m$@$1Ez$($^$9!#e(B

e$B2>$K$=$&$7$?$H$9$l$P!“e(BComplex() e$B$r;H$C$F@8@.$9$k8B$j!“0l4S$7e(B
e$B$Fe(B Float e$B$Je(B Complex e$B$r;H$&$3$H$,=PMh$^$9!#e(BComplexFloat e$B$H$$e(B
e$B$&D9$$L>A0$r;H$&I,MW$b$”$j$^$;$s$7!”$=$C$A$N$[$&$,;H$$$d$9$$e(B
e$B$s$8$c$J$$$G$7$g$&$+!#e(B

Complex() e$B$He(B Complex.new()
e$B$G$O!"$=$N0c$$$,!J%^%K%e%"%k$rFI$^e(B
e$B$J$$$H!K$o$+$jFq$$!"$^$?!“e(BComplex() e$B$H$$$&7A$N?tCM$N@8@.$O!“e(B
e$B<B$O@8@.$G$O$J$/$F!V<B$O?tCM$O7W;;5!Fb$KM=$aB8:_$7$F$$$F!”$=e(B
e$B$l$rO”$l$F$/$k!W$H$$$&%$%a!<%8$r;}$C$F$$$k$N$G!"$3$N$h$&$J;He(B
e$B$$J,$1$KMQ$$$k$N$O!"E,@Z$G$O$J$$$+$b$7$l$^$;$s!#e(B

Complex e$B$Ke(B new e$B$,$"$C$F$b$$$$$+$J!"$H;W$C$F$$$^$9!#e(B

e$B@8@.;[email protected],$,e(B Float
e$B$G$"$k$3$H$r;XDj$9$k$H$$$&$N$O!"0l$D$NJ}e(B
e$BK!$@$H;W$$$^$9!#e(B

e$B$3$3$G!"e(BComplexFloat e$B$H!"Cf?H$,e(B Float e$B$Ne(B Complex e$B$N5sF0$,Eye(B
e$B$7$$$HA[Dj$7$F$$$^$9!#$b$75sF0$,0[$J$k$s$G$7$?$i$=$&;XE&$7$Fe(B
e$B$/$@$5$$!#e(B

e$B$3$N#2$D$N5sF0$OEy$7$$$H$7$F9M$($F$$$^$9!#e(B

z = Complex(0, 1) e$B$G$9!#e(B

e$B?tCMe(B x e$B$N?6Iq$$$Oe(B x e$B$NB0$9$k%/%i%9$G7h$^$C$FM_$7$$!"$=$N$h$&$J$b$N$,AHe(B
e$B$9~$$G$O$h$jK>$^$7$$!"$N$G$O$J$$$G$7$g$&$+!)e(B

e$B$J$s$G%/%i%9$G7h$^$C$F$[$7$$$s$G$7$g$&e(B?

e$BC1=c$K!“5sF0$,%/%i%9$G7h$^$k!”$H$$$&$N$O$$$$$3$H$G$O$J$$$G$9e(B
e$B$+$M!#FC$K?tCM%/%i%9$H$$$&C1=c$G$"$k$Y$-$b$N$G$O!#>/$J$/$H$be(B
e$B8=9T$NAH$9~$$N?tCM%/%i%9$O$9$Y$F%/%i%9$G7h$^$C$F$$$k!#e(B

e$B$G$b!"e(B[ruby-dev:34439] e$B$Ne(B / e$B$NLdBj$O2r7h$G$-$^$;$s!#$3$l$r%/e(B
e$B%i%9$GH=CG$G$-$k$h$&$K$9$k$K$O!“e(BComplexInteger e$B$rF3F~$9$kI,e(B
e$BMW$,$”$k$G$7$g$&!#e(B

Complex e$B$rMxMQ$7$?>l9g!"%/%i%9$GH=CG$G$-$k$h$&$K$9$kI,MW$O$Je(B
e$B$$!"$H$$$&$N$,;d$N9M$($G$9!#e(B

e$B0lJ}$G%/%i%9$GH=CG$G$-$k$Y$-!"$H8@$$!“0lJ}$GH=CG$G$-$kI,MW$Oe(B
e$B$J$$!”$H8@$C$F$^$9!#$3$3$@$1<h$j>e$2$k$H$*$+$7$/J9$3$($k$+$b!#e(B

e$BB?$/$N?M$Oe(B ComplexFloat e$B$r;H$&$N$G%/%i%9$GH=CG$G$-$k!#FC<l$Je(B
e$B%1!<%9$G$Oe(B Complex
e$B$r;H$&$,!“FC<l$J$N$G%/%i%9$GH=CG$G$-$J$/$Fe(B
e$B$$$$!”$H$$$&$3$H$G$9!#e(B

e$B$^$?!“IT@53N?t$Oe(B Float e$B$@$1$G$O$”$j$^$;$s!#e(BBigDecimal e$B$de(B
Decimal e$B$re(B (e$B$=$NI=8=$G$-$k7e$r1[$($?CM$N6a;w$H$7$Fe(B) e$B;H$($P!"e(B
e$BIT@53N?t$K$J$j$^$9!#$3$l$r%/%i%9$GH=CG$G$-$k$h$&$K$9$k$K$Oe(B
ComplexBigDecimal e$B$de(B ComplexDecimal e$B$rF3F~$9$k$s$G$7$g$&$+!#e(B
e$B$3$l$O:]8B$,$J$$5$$,$7$^$9!#e(B

ComplexFloat e$B$N$_F3F~$7!“B>$Ne(B Complex*
e$B$Oe(B(e$BAH$9~$$H$7$F$Oe(B)e$BF3e(B
e$BF~$7$J$$!”$H$$$&Ds0F$r$7$F$$$^$9!#e(BComplexBigDecimal e$BEy$O3HD%e(B
e$B%i%$%V%i%j$G$7$F$b$i$&!#e(B

ComplexFloat e$B$OAH$9~$$J$N$K!“e(BComplexBigDecimal
e$B$O$=$&$G$O$Je(B
e$B$$!#$=$N@~0z$O$J$<$+$H$$$&$H!”;HMQIQEY$K$h$k$b$N$G$9!#e(B

e$B$"$H!“e(BComplex() e$B$Ke(B Float e$B$de(B Integer e$B$,M?$($i$l$?$i$I$&$9$k$Ne(B
e$B$+!”$H$$$&LdBj$b$"$j$^$9!#86$5$s$N0F$@$H!"e(BComplexFloat e$B$OAHe(B
e$B$9~$$G$9$+$i!“e(BFloat e$B$,M?$($i$l$?;~$Ke(B ComplexFloat e$B$r@8@.$9e(B
e$B$k$N$O2DG=$+$b$7$l$^$;$s!#$G$b!”:#$O$^$@$J$$e(B ComplexInteger
e$B$rC/$+$,Dj5A$7$?;~!"e(BComplex() e$B$Ke(B Integer e$B$rM?$($Fe(B Complex e$B%*e(B
e$B%V%8%’%/%H$,@8@.$5$l$k$H$9$l$P!"Cf?H$,e(B Integer e$B$G$O!V$J$$!We(B
e$B$3$H$O%/%i%9$G$OH=CG$G$-$^$;$s!#e(B

Complex() e$B$Ke(B Float e$B$rM?$($k$H!“e(BComplexFloat
e$B$HF1$85sF0$r$9$ke(B
e$B%%V%8%’%/%H$,F@$i$l$^$9!#F1$8$h$&$J?6Iq$$$r$9$k%%V%8%’%/%He(B
e$B$,e(B2e$BDL$j$”$k$3$H$K$J$j$^$9$M!#$"$^$jNI$/$J$$$,;EJ}$,$J$$!"$H$$e(B
e$B$&9M$($G$9!#:GBg$N7gE@!)e(B

e$BC/$+$,e(B ComplexInteger e$B$r:n$C$?$H$9$l$P!"$d$O$je(B Complex()
e$B$Ke(B
Integer e$B$rM?$($?$b$N$He(B2e$B=E$K$J$C$F$7$^$&$G$7$g$&!#e(B

e$BCf?H$N@-<A$rH=CG$7$?$$$H$$$&MW5a$O=<J,$K$"$jF@$k$H;W$&$s$G$9e(B
e$B$,!"$=$l$K%/%i%9$rMQ$$$k$H$$$&E@$,G<F@$G$-$^$;$s!#e(B

e$B@53N?t$+IT@53N?t$+H=CG$7$?$$$H$$$&$J$i!“e(B
Scheme e$B$Ne(B exact?, inexact? e$B$”$?$j$r<h$jF~$l$F!“e(B
Numeric#exact?, Numeric#inexact? e$B$rDs0F$9$k$[$&$,$$$$$H;W$&e(B
e$B$s$G$9$,!”$J$s$G%/%i%9$r;H$$$?$$$s$G$7$g$&e(B?

exact? e$B$He(B inexact?
e$B$NF3F~$O8!F$$5$l$F$b$$$$$H;W$$$^$9!#$7$+$7e(B
e$B?t$N5sF0$rI=8=$9$k>pJs$H$7$F$OIT==J,$J$o$1$Ge(B(e$BNc$($Pe(B Rational
e$B$He(B Integer e$B$Oe(B exact
e$B$@$1$I5sF0$O$+$J$j0c$&e(B)e$B!"$=$N$b$N%:%P%je(B
e$B!V%/%i%9$,BN$rI=$9!W$N$O$$$$$3$H$G$O$J$$$+$H;W$&$N$G$9$,!De(B
e$B?tCM$J$N$K%/%i%9$G@-<A$,H=CG$G$-$J$$!"$H$$$&5$;}$A0-$5$r46$8e(B
e$B2a$.$J$N$+$J$"!#e(B

e$B86$G$9!#e(B

e$B$^$D$b$H$5$s$,e(B ComplexFloat e$B$r5Q2<$7$?$$0U8~$rI=L@$7$F!"$b$de(B
e$B$O$=$l$rJ$$9$@$1$N@bF@NO$r;}$DO@5r$,$_$D$+$i$J$$$N$G!"0l1~$3e(B
e$B$N%9%l%C%I$O=*$o$C$?$H;W$$$^$9!#e(B

e$B$,!"$[$H$s$I;DL3=hM}!JGT@o=hM}!)!K$G$9$,!"$"$kDxEY8m2r$O2r$$e(B
e$B$F$*$-$?$$$N$G!"$b$&$A$g$C$H$@$1!#e(B

|e$B$i$J$$$G$9$M!#$&$^$/I=8=$,$G$-$F$J$$$_$?$$$G$9!#0l1~Ez$($k$3e(B
|e$B$H$,$G$-$k$H$3$m$@$1Ez$($^$9!#e(B

e$B2?EY$+FI$_JV$7$?$N$G$9$,!"$d$C$Q$j$h$/$o$+$j$^$;$s!#e(B

  • Complex.newe$B$NB8:$O=c?h$K8_49@-$@$1$,M}M3$@$H9M$($F$$$^$9!#e(B
    e$B$G$9$+$i!"e(BComplex.newe$B$NB8:
    $O$J$s$N:,5r$K$J$i$J$$$H;W$$$^$9!#e(B
    e$B$$$C$=e(BComplex.newe$B$r:o$C$F$b$h$$$G$7$g$&!#e(B

ComplexFloat e$B$NOC$He(B Complex.new e$B$O4X78$J$$$G$9!#e(B Complex.new
e$B$NB8:_$r:,5r$K2?$+$r<gD%$7$?$O$:$O$J$$$s$@$1$l$I!"=q$-J}$,J6e(B
e$B$i$o$7$+$C$?$s$@$m$&$J$"!#e(B

e$B$Ne(B2e$BE@$,$"$2$i$l$F$$$^$9$,!“e(B
e$B$3$l$O!”!Ve(BComplexFloate$B$He(BComplexe$B$NN>J}$,$"$C$?J}$,NI$$M}M3!W$G$Oe(B
e$B$J$/$F!"!Ve(BComplexFloate$B$,$"$C$?J}$,NI$$M}M3!W$G$9!#e(B

e$B$Ne(B2e$BE@$,$"$2$i$l$F$$$^$9$,!“A0Ds$+$i9M$($Fe(B(e$B$I$&$;F1$85sF0$Je(B
e$B$s$@$+$ie(B)Complexe$B$NMQK!$H$7$Fe([email protected],$,$[$H$s$I$G$”$m$&$,$Je(B
e$B$+$m$&$,!"e(BComplexFloate$B$rJ,N%$9$k:,5r$K$O$J$i$J$$$H;W$$$^$9!#e(B

e$B$3$l$O!"e(Bf() e$B$r4X?t$J$jA`:n$J$je(B(=
e$B5sF0e(B)e$B$H$9$k$H$-!"e(B

© Float [email protected],$Ne(B Complex e$B$G$"$ke(B x e$B$H!"$=$l$HEy$7$$e(B
ComplexFloat e$B$Ne(B y e$B$KBP$7$Fe(B f(x) e$B$He(B f(y)
e$B$OEy$7$$e(B

e$B$N$G!“e(By
e$B$NJ}$O$$$i$J$$$s$8$c$J$$$+!”$H$$$&$3$H$G$9$h$M!#e(B©e$B$Oe(B
e$B$=$NDL$j$G$9!#e(B

e$B$$H$H$$$NHU:J$K$"$k$3$H$,$-$C$+$1$G!"F,$N$$+$7$$0U8GCO$J$*e(B
e$B$8$5$s8F$P$o$j$5$l$?!J$7$+$b?4Ev$?$j$O$"$k!K$N$G!“EY!9F1$8OCe(B
e$B$r7+$jJV$9$N$O!”$O$P$+$l$k$N$G$9$,!";d$N<gD%$r$b$&0lEY8@$&$H!"e(B
f() e$B$r4X?t$J$jA`:n$J$j$H$9$k$H$-!"e(B

(d) Complex e$B$G$"$ke(B x e$B$H!"$=$l$HEy$7$$e(B Complex e$B$Ne(B y
e$B$KBP$7$Fe(B
f(x) e$B$He(B f(y) e$B$,Ey$7$/$J$$e(B

e$B$H$$$&$3$H$,$"$j!"$3$l$rLdBj$K$7$^$7$?!#e(B

e$B$/$I$$$G$9$,!"$b$&0lEY8@$&$H!"e(B(a) e$B$re(B ComplexFloat
e$B$rJ,N%$9$ke(B
e$BD>@$N:,5r$H$7$?$N$G$O$J$/!“e(B(d) e$B$re(B Complex
e$B$N7gE@$H;XE&$7!”$=e(B
e$B$N7gE@$,L5$$e(B ComplxFloat
e$B$rAH$9~$$H$7$FF3F~$9$k:,5r$H$7$?!#e(B
e$B0lJ}!“e(BComplex e$BMxMQ<T$NB?$/$Oe(B ComplexFloat
e$B$,$”$k$N$J$i$=$A$ie(B
e$B$rMxMQ$9$k$h$&$K$J$k$@$m$&!#$=$N:,5r$,e(B (a) e$B$G$9!#e(B

e$B$H$3$m$G!"%1!<%9e(B (d)
e$B$,H/@8?t$9$kIQEY$bB?$/$"$j$^$;$s!#$3$A$ie(B
e$B$OIQEY$,>/$J$/$F$bLdBj$G$"$k$H9M$($^$7$?!#e(B(e$BLdBj$K$J$kNc$H$7$F!"e(B
e$B$9$0;W$$Ib$+$V$N$O!"9TNs$N3,?t$d9TNs<0$NOC$J$N$G$9$,!"J,$+$je(B
e$B$d$9$/$J$$$o$j$K$O@bF@NO$,==J,$H$O8@$($J$$$N$G!"7k6I@bL@$rCGe(B
e$BG0$7$^$7$?!#e(B)

e$B!V8=9T$NAH$9~$$N?tCM%/%i%9$O$9$Y$F%/%i%9$G7h$^$C$F$$$k!We(B
e$B$H$"$j$^$9$,!"$?$H$($Pe(BFixnume$B$He(BBignume$B$OK\Ev$OF1$8e(BIntegere$B%/%ie(B
e$B%9$K$7$?$+$C$?$N$,!“0lJ}$,B(CM$G$”$k$?$a$K$G$-$J$+$C$?$H$$e(B
e$B$&!V;d$N;W$$!W$,$"$j!"!V@_7W<T$,$7$?$$$N$K$G$-$J$+$C$?!W$3e(B
e$B$H$r$b$C$F!V$h$$$3$H!W$HCG$8$i$l$k$N$OITK\0U$G$9!#e(B

e$B$3$l$C$F!V@_7W<T$,$7$?$$$N$K$G$-$J$+$C$?;v$r!"$G$-$?$+$NMM$Ke(B
e$B8@$$e(B(e$B;v<B8mG’e(B)e$B!"$+$D$=$l$r$h$$$3$H$HCG$8$?!W$H$$$&0UL#$G$7$ge(B
e$B$&$+!#e(B

e$B$=$&$$$&$D$b$j$8$c$J$+$C$?$s$@$1$I!#e(B

e$B$J$<!"$=$&$H$i$l$?$N$+$:$C$HJ,$+$i$J$+$C$?$N$G$9$,!":#$5$C$-e(B
e$B$d$C$H$o$+$j$^$7$?!#;d$,!V8=9T$NAH$9~$$N?tCM%/%i%9$O$9$Y$Fe(B
e$B%/%i%9$G7h$^$C$F$$$k!W$H=q$$$?$N$,J6$i$o$7$+$C$?!#8@$$$?$+$Ce(B
e$B$?$N$O!V8=9T$NAH$9~$$N?tCM$O!"$R$H$D$N%/%i%9$KBP$7$F!"$R$He(B
e$B$D$N5sF0$,0l0U$K7h$^$C$F$$$k!W$H$$$&$3$H$G$9!#$3$l$O!“e(BFinxum
e$B$He(B Bignum e$B$b!”$=$l$>$l5sF0$,0l0U$K7h$^$C$F$$$k$N$G!“Nc30$G$Oe(B
e$B$J$$$G$9!#8=9T$G$O@0?t$N;}$D$Y$-5sF0$KBP$7$F!”%/%i%9$,0l0U$Ke(B
e$B7h$^$C$F$$$J$$$o$1$G$9$,!"$3$l$K$D$$$F%3%a%s%H$r$7$F$$$k$N$Ge(B
e$B$O$"$j$^$;$s!#$D$^$j!V%/%i%9e(B -> e$B5sF0!W$H$$$&BP1~$r%3%a%s%H$7e(B
e$B$?$N$G$"$C$F!"!V5sF0e(B -> e$B%/%i%9!W$NBP1~$r%3%a%s%H$7$?$N$G$O$Je(B
e$B$+$C$?$s$G$9!#I=8=$,0-$/$F$9$$$^$;$s$G$7$?!#e(B

e$B$H$$$&$o$1$G!“ITK\0U$HB*$($J$$$G$$$?$@$/$H$”$j$,$?$$$G$9!#e(B

e$B$^$?!"!V?tCM%/%i%9$H$$$&C1=c$G$"$k$Y$-!W$H$"$j$^$9$,!“e(B
Complexe$B$H$$$&%/%i%9$R$H$D$rF3F~$9$k$N$He(BComplexFloate$B$rBeI=$9e(B
e$B$kB??t$N!Ve(BComplexe$BB2!W$rF3F~$7$?$j!”$"$k$$$Oe(BComplexFloate$B$H$[e(B
e$B$\F1$8F0:n$rFbJq$9$k$h$&$Je(BComplexe$B%/%i%9$rJBN)$5$;$?$j$9$k$3e(B
e$B$H$O!"@.J,$4$H$K5sF0$,B?>/JQ2=$9$ke(BComplexe$B$h$j$bJ#;($Ke(B(e$B;d$Ke(B
e$B$Oe(B)e$B46$8$^$9!#e(B

e$B!Ve(BComplex e$BB2!W$rF3F~$9$k$3$H$OA4$/9M$($F$$$^$;$s$G$7$?!#e(B

|exact? e$B$He(B inexact? e$B$NF3F~$O8!F$$5$l$F$b$$$$$H;W$$$^$9!#$7$+$7e(B
|e$B?t$N5sF0$rI=8=$9$k>pJs$H$7$F$OIT==J,$J$o$1$Ge(B(e$BNc$($Pe(B Rational
|e$B$He(B Integer e$B$Oe(B exact e$B$@$1$I5sF0$O$+$J$j0c$&e(B)e$B!"$=$N$b$N%:%P%je(B
|e$B!V%/%i%9$,BN$rI=$9!W$N$O$$$$$3$H$G$O$J$$$+$H;W$&$N$G$9$,e(B…
|e$B?tCM$J$N$K%/%i%9$G@-<A$,H=CG$G$-$J$$!"$H$$$&5$;}$A0-$5$r46$8e(B
|e$B2a$.$J$N$+$J$"!#e(B

e$B3N$+$K?tCM%/%i%972$Oe(BRubye$B$NCf$G$ONc30E*$K%/%i%9$,0UL#$r;}$D79e(B
e$B8~$,$"$j$^$9$,!"@dBP;k$9$kI,MW$O$J$$$h$&$K;W$&$N$G$9!#e(B

e$B3N$+$K$=$NDL$j!";d$Oe(B Ruby e$B$H$$$&%W%m%0%i%_%s%08@8lA4BN$N%P%ie(B
e$B%s%9$r9M$($k0J>e$K$3$N@-<A$r@dBP;k$72a$.$F$$$?$+$b$7$l$^$;$s!#e(B

e$B$3$l$K$D$$$F$O<+8JHcH=$9$k$H!":G=ie(B Ruby e$B$r8+$?$H$-!"%/%i%9$,e(B
e$B$$$o$f$k!V72!&4D!&BN!W$J$I$N!VBe?t7O!W$rI=8=$7$F$$$k$h$&$K8+e(B
e$B$($F$$$?$/467c$7$?!"$=$N467c$r0z$-$:$C$F$$$?$h$&$K;W$$$^$9!#e(B
e$B!V$=$&$$$&%"%J%m%8!<$b;H$($k$3$H$,$"$j$^$9!WDxEY$K9M$($k$Y$-e(B
e$B$G$7$?!#e(B

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

In message “Re: [ruby-dev:34541] Re: ComplexFloat”
on Wed, 30 Apr 2008 18:50:06 +0900, Shin-ichiro HARA
[email protected] writes:

|Tanaka A. e$B$5$s$O=q$-$^$7$?e(B:
|> Complex e$B$He(B ComplexFloat e$B$H%/%i%9$r$U$?$D$KJ,$1$kM}M3$,$I$&$Ke(B
|> e$B$b$o$+$j$^$;$s!#e(B
|
|e$B$=$NM}M3$3$=$A$c$s$H=R$Y$J$$$H$$$1$J$$$N$G$9$,!"$J$+$J$+EA$oe(B
|e$B$i$J$$$G$9$M!#$&$^$/I=8=$,$G$-$F$J$$$_$?$$$G$9!#0l1~Ez$($k$3e(B
|e$B$H$,$G$-$k$H$3$m$@$1Ez$($^$9!#e(B

e$B2?EY$+FI$_JV$7$?$N$G$9$,!"$d$C$Q$j$h$/$o$+$j$^$;$s!#e(B

  • Complex.newe$B$NB8:$O=c?h$K8_49@-$@$1$,M}M3$@$H9M$($F$$$^$9!#e(B
    e$B$G$9$+$i!"e(BComplex.newe$B$NB8:
    $O$J$s$N:,5r$K$J$i$J$$$H;W$$$^$9!#e(B
    e$B$$$C$=e(BComplex.newe$B$r:o$C$F$b$h$$$G$7$g$&!#e(B

[email protected],$H$7$F;}$De(BComplexe$B$He(BComplexFloate$B$,5sF0$r4^$a$FEye(B
e$B$7$$$b$N$G$“$k$N$K$b$+$+$o$i$:e(BComplexFloate$B$He(BComplexe$B$NN>J}e(B
e$B$,$”$C$?J}$,NI$$M}M3$H$7$F!"e(B

(a) Complexe$B$NMQK!$H$7$Fe(BComplexFloate$B$,$[$H$s$I$G$"$m$&$H?de(B
e$BB,$5$l$ke(B

(b) e$B5sF0$,%/%i%9$G7h$^$k!"$H$$$&$N$O$h$$$3$H$G$O$J$$$+$H9Me(B
e$B$($ke(B

e$B$Ne(B2e$BE@$,$"$2$i$l$F$$$^$9$,!“A0Ds$+$i9M$($Fe(B(e$B$I$&$;F1$85sF0$Je(B
e$B$s$@$+$ie(B)Complexe$B$NMQK!$H$7$Fe([email protected],$,$[$H$s$I$G$”$m$&$,$Je(B
e$B$+$m$&$,!"e(BComplexFloate$B$rJ,N%$9$k:,5r$K$O$J$i$J$$$H;W$$$^$9!#e(B

e$B!V8=9T$NAH$9~$$N?tCM%/%i%9$O$9$Y$F%/%i%9$G7h$^$C$F$$$k!We(B
e$B$H$“$j$^$9$,!”$?$H$($Pe(BFixnume$B$He(BBignume$B$OK\Ev$OF1$8e(BIntegere$B%/%ie(B
e$B%9$K$7$?$+$C$?$N$,!“0lJ}$,B(CM$G$”$k$?$a$K$G$-$J$+$C$?$H$$e(B
e$B$&!V;d$N;W$$!W$,$“$j!”!V@_7W<T$,$7$?$$$N$K$G$-$J$+$C$?!W$3e(B
e$B$H$r$b$C$F!V$h$$$3$H!W$HCG$8$i$l$k$N$OITK\0U$G$9!#e(B

e$B$^$?!“!V?tCM%/%i%9$H$$$&C1=c$G$”$k$Y$-!W$H$“$j$^$9$,!“e(B
Complexe$B$H$$$&%/%i%9$R$H$D$rF3F~$9$k$N$He(BComplexFloate$B$rBeI=$9e(B
e$B$kB??t$N!Ve(BComplexe$BB2!W$rF3F~$7$?$j!”$”$k$$$Oe(BComplexFloate$B$H$[e(B
e$B$\F1$8F0:n$rFbJq$9$k$h$&$Je(BComplexe$B%/%i%9$rJBN)$5$;$?$j$9$k$3e(B
e$B$H$O!"@.J,$4$H$K5sF0$,B?>/JQ2=$9$ke(BComplexe$B$h$j$bJ#;($Ke(B(e$B;d$Ke(B
e$B$Oe(B)e$B46$8$^$9!#e(B

e$B$H$$$&E@$+$i!“$5$[$I3N$?$k:,5r$O46$8$i$l$J$+$C$?$N$G$9$,!#J#e(B
e$BAG?t$H$O$=$&$$$&$b$N$@!”$H$+$=$&$$$&OC$K$O$J$i$J$$$N$G$9$Me(B
(e$B$=$l$J$i>/$J$/$H$b;d$K$O8}=P$7$G$-$J$$e(B)e$B!#e(B

|Complex() e$B$Ke(B Float e$B$rM?$($k$H!“e(BComplexFloat e$B$HF1$85sF0$r$9$ke(B
|e$B%%V%8%'%/%H$,F@$i$l$^$9!#F1$8$h$&$J?6Iq$$$r$9$k%%V%8%'%/%He(B
|e$B$,e(B2e$BDL$j$”$k$3$H$K$J$j$^$9$M!#$“$^$jNI$/$J$$$,;EJ}$,$J$$!”$H$$e(B
|e$B$&9M$($G$9!#:GBg$N7gE@!)e(B
|
|e$BC/$+$,e(B ComplexInteger e$B$r:n$C$?$H$9$l$P!"$d$O$je(B Complex() e$B$Ke(B
|Integer e$B$rM?$($?$b$N$He(B2e$B=E$K$J$C$F$7$^$&$G$7$g$&!#e(B

e$B!V$7$+$?$,$J$$!W$H$$$&$+$i$K$O!“!V$7$+$?$,$J$$!W$@$1$NM}M3$,e(B
e$B$”$k$s$@$H;W$&$s$G$9$,!“>e5-$N$h$&$K$=$s$J$K!V$7$+$?$,$J$$!We(B
e$B$H$O46$8$^$;$s$G$7$?!#!VC1=c$G$”$k$Y$-!W$N!VC1=c!W$O$+$J$j<ge(B
e$B4QE*$G$9$7!“!V%/%i%9$G7h$^$C$F$$$k!W$H$$$&$N$b$=$3$^$G=EMW;ke(B
e$B$9$Y$-@-<A$G$”$k$H$O46$8$^$;$s$G$7$?!#e(B

|exact? e$B$He(B inexact? e$B$NF3F~$O8!F$$5$l$F$b$$$$$H;W$$$^$9!#$7$+$7e(B
|e$B?t$N5sF0$rI=8=$9$k>pJs$H$7$F$OIT==J,$J$o$1$Ge(B(e$BNc$($Pe(B Rational
|e$B$He(B Integer e$B$Oe(B exact e$B$@$1$I5sF0$O$+$J$j0c$&e(B)e$B!“$=$N$b$N%:%P%je(B
|e$B!V%/%i%9$,BN$rI=$9!W$N$O$$$$$3$H$G$O$J$$$+$H;W$&$N$G$9$,!De(B
|e$B?tCM$J$N$K%/%i%9$G@-<A$,H=CG$G$-$J$$!”$H$$$&5$;}$A0-$5$r46$8e(B
|e$B2a$.$J$N$+$J$"!#e(B

e$B3N$+$K?tCM%/%i%972$Oe(BRubye$B$NCf$G$ONc30E*$K%/%i%9$,0UL#$r;}$D79e(B
e$B8~$,$“$j$^$9$,!”@dBP;k$9$kI,MW$O$J$$$h$&$K;W$&$N$G$9!#e(B

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

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

In message “Re: [ruby-dev:34599] Re: ComplexFloat”
on Wed, 7 May 2008 17:55:58 +0900, Shin-ichiro HARA
[email protected] writes:

|e$B$^$D$b$H$5$s$,e(B ComplexFloat e$B$r5Q2<$7$?$$0U8~$rI=L@$7$F!"$b$de(B
|e$B$O$=$l$rJ$$9$@$1$N@bF@NO$r;}$DO@5r$,$_$D$+$i$J$$$N$G!"0l1~$3e(B
|e$B$N%9%l%C%I$O=*$o$C$?$H;W$$$^$9!#e(B

e$B$=$&$J$s$G$9$+!)e(B

|e$B$,!“$[$H$s$I;DL3=hM}!JGT@o=hM}!)!K$G$9$,!”$“$kDxEY8m2r$O2r$$e(B
|e$B$F$*$-$?$$$N$G!”$b$&$A$g$C$H$@$1!#e(B

|> * Complex.newe$B$NB8:$O=c?h$K8_49@-$@$1$,M}M3$@$H9M$($F$$$^$9!#e(B
|> e$B$G$9$+$i!"e(BComplex.newe$B$NB8:
$O$J$s$N:,5r$K$J$i$J$$$H;W$$$^$9!#e(B
|> e$B$$$C$=e(BComplex.newe$B$r:o$C$F$b$h$$$G$7$g$&!#e(B
|
|ComplexFloat e$B$NOC$He(B Complex.new e$B$O4X78$J$$$G$9!#e(B Complex.new
|e$B$NB8:_$r:,5r$K2?$+$r<gD%$7$?$O$:$O$J$$$s$@$1$l$I!“=q$-J}$,J6e(B
|e$B$i$o$7$+$C$?$s$@$m$&$J$”!#e(B

e$B$=$&$G$9$M!#$G$O!"e(BComplex.newe$B$O4X78$J$$$H$$$&$3$H$G!#e(B

|> * [email protected],$H$7$F;}$De(BComplexe$B$He(BComplexFloate$B$,5sF0$r4^$a$FEye(B
|> e$B$7$$$b$N$G$“$k$N$K$b$+$+$o$i$:e(BComplexFloate$B$He(BComplexe$B$NN>J}e(B
|> e$B$,$”$C$?J}$,NI$$M}M3$H$7$F!“e(B
|>
|> (a) Complexe$B$NMQK!$H$7$Fe(BComplexFloate$B$,$[$H$s$I$G$”$m$&$H?de(B
|> e$BB,$5$l$ke(B
|>
|> (b) e$B5sF0$,%/%i%9$G7h$^$k!“$H$$$&$N$O$h$$$3$H$G$O$J$$$+$H9Me(B
|> e$B$($ke(B
|>
|> e$B$Ne(B2e$BE@$,$”$2$i$l$F$$$^$9$,!“e(B
|
|e$B$3$l$O!”!Ve(BComplexFloate$B$He(BComplexe$B$NN>J}$,$“$C$?J}$,NI$$M}M3!W$G$Oe(B
|e$B$J$/$F!”!Ve(BComplexFloate$B$,$"$C$?J}$,NI$$M}M3!W$G$9!#e(B

e$B$G$b!“!VN>J}$”$C$?J}$,$h$$!W$H;W$C$F$k$s$G$9$h$M!#$=$NJU$,$he(B
e$B$/$o$+$i$J$$!#e(B

|> e$B$Ne(B2e$BE@$,$"$2$i$l$F$$$^$9$,!“A0Ds$+$i9M$($Fe(B(e$B$I$&$;F1$85sF0$Je(B
|> e$B$s$@$+$ie(B)Complexe$B$NMQK!$H$7$Fe([email protected],$,$[$H$s$I$G$”$m$&$,$Je(B
|> e$B$+$m$&$,!"e(BComplexFloate$B$rJ,N%$9$k:,5r$K$O$J$i$J$$$H;W$$$^$9!#e(B
|
|e$B$3$l$O!“e(Bf() e$B$r4X?t$J$jA`:n$J$je(B(= e$B5sF0e(B)e$B$H$9$k$H$-!“e(B
|
| (c) Float [email protected],$Ne(B Complex e$B$G$”$ke(B x e$B$H!”$=$l$HEy$7$$e(B
| ComplexFloat e$B$Ne(B y e$B$KBP$7$Fe(B f(x) e$B$He(B f(y) e$B$OEy$7$$e(B
|
|e$B$N$G!“e(By e$B$NJ}$O$$$i$J$$$s$8$c$J$$$+!”$H$$$&$3$H$G$9$h$M!#e(B(c)e$B$Oe(B
|e$B$=$NDL$j$G$9!#e(B

e$B$=$3$O6&M-$7$F$k$s$G$9$M!#$h$+$C$?!#e(B

|f() e$B$r4X?t$J$jA`:n$J$j$H$9$k$H$-!“e(B
|
| (d) Complex e$B$G$”$ke(B x e$B$H!“$=$l$HEy$7$$e(B Complex e$B$Ne(B y e$B$KBP$7$Fe(B
| f(x) e$B$He(B f(y) e$B$,Ey$7$/$J$$e(B
|
|e$B$H$$$&$3$H$,$”$j!“$3$l$rLdBj$K$7$^$7$?!#e(B
|
|e$B$/$I$$$G$9$,!”$b$&0lEY8@$&$H!“e(B(a) e$B$re(B ComplexFloat e$B$rJ,N%$9$ke(B
|e$BD>@$N:,5r$H$7$?$N$G$O$J$/!“e(B(d) e$B$re(B Complex e$B$N7gE@$H;XE&$7!”$=e(B
|e$B$N7gE@$,L5$$e(B ComplxFloat e$B$rAH$9~$$H$7$FF3F~$9$k:,5r$H$7$?!#e(B
|e$B0lJ}!“e(BComplex e$BMxMQ<T$NB?$/$Oe(B ComplexFloat e$B$,$”$k$N$J$i$=$A$ie(B
|e$B$rMxMQ$9$k$h$&$K$J$k$@$m$&!#$=$N:,5r$,e(B (a) e$B$G$9!#e(B
|
|e$B$H$3$m$G!”%1!<%9e(B (d) e$B$,H/@8?t$9$kIQEY$bB?$/$“$j$^$;$s!#$3$A$ie(B
|e$B$OIQEY$,>/$J$/$F$bLdBj$G$”$k$H9M$($^$7$?!#e(B(e$BLdBj$K$J$kNc$H$7$F!"e(B
|e$B$9$0;W$$Ib$+$V$N$O!"9TNs$N3,?t$d9TNs<0$NOC$J$N$G$9$,!"J,$+$je(B
|e$B$d$9$/$J$$$o$j$K$O@bF@NO$,==J,$H$O8@$($J$$$N$G!"7k6I@bL@$rCGe(B
|e$BG0$7$^$7$?!#e(B)

e$B$G!“$3$3$,=EMW$G$9!#$^$:3NG’$G$9$,e(B(d)e$B$N$h$&$J%1!<%9$,$”$k$se(B
e$B$G$9$M!#;d$K$O!V9TNs$N3,?t$d9TNs<0$NOC!W$O$o$+$i$J$$$N$G!“$3e(B
e$B$3$G$O!V$”$k!W$H2>Dj$7$FOC$r?J$a$^$9!#e(B

e$B$=$N$h$&$J%1!<%9$,$“$k$H$7$F!”$=$l$OK<AE*$K2r7hITG=$J$s$G$7$ge(B
e$B$&$+!#$*$=$i$/$O$=$&$J$s$G$7$g$&$M!#$7$+$7!“IQEY$O$”$^$jB?$/e(B
e$B$J$/!“$o$+$j$d$9$/$J$/!”@bF@NO$b==J,$G$O$J$$$H!#$U$`!#e(B

e$B$3$3$K@bF@NO$,$“$j!“LdBj$,6qBNE*$G$”$l$P!”$=$l$r2r7h$9$k$?$ae(B
e$B$N%“%$%G%#%”$,L5$$$+$_$s$J$GCN7C$r9J$kM>CO$O$“$k$H;W$&$N$G$9e(B
e$B$,!“Ev$NK?M$,$”$-$i$a$F$$$k$h$&$@$7$J$”!#e(B

|> e$B3N$+$K?tCM%/%i%972$Oe(BRubye$B$NCf$G$ONc30E*$K%/%i%9$,0UL#$r;}$D79e(B
|> e$B8~$,$“$j$^$9$,!”@dBP;k$9$kI,MW$O$J$$$h$&$K;W$&$N$G$9!#e(B
|
|e$B3N$+$K$=$NDL$j!“;d$Oe(B Ruby e$B$H$$$&%W%m%0%i%_%s%08@8lA4BN$N%P%ie(B
|e$B%s%9$r9M$($k0J>e$K$3$N@-<A$r@dBP;k$72a$.$F$$$?$+$b$7$l$^$;$s!#e(B
|
|e$B$3$l$K$D$$$F$O<+8JHcH=$9$k$H!”:G=ie(B Ruby e$B$r8+$?$H$-!“%/%i%9$,e(B
|e$B$$$o$f$k!V72!&4D!&BN!W$J$I$N!VBe?t7O!W$rI=8=$7$F$$$k$h$&$K8+e(B
|e$B$($F$$$?$/467c$7$?!”$=$N467c$r0z$-$:$C$F$$$?$h$&$K;W$$$^$9!#e(B
|e$B!V$=$&$$$&%“%J%m%8!<$b;H$($k$3$H$,$”$j$^$9!WDxEY$K9M$($k$Y$-e(B
|e$B$G$7$?!#e(B

e$B$@$H$9$k$H$=$l$Oe(BSmalltalke$B$H@PDM$5$s$N$*$+$2$G$7$g$&!#;d$O$$e(B
e$B$^$@$K!V72!&4D!&BN!W$J$I$N!VBe?t7O!W$r$^$C$?$/M}2r$7$F$$$^$;e(B
e$B$s$G$9!"$O$$!#e(B

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

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

In message “Re: [ruby-dev:34502] Re: ComplexFloat”
on Thu, 24 Apr 2008 09:00:43 +0900, sheepman
[email protected] writes:

|e$BJ#AG?t$N=|;;$GLdBj$,$"$j$^$9!#e(BScheme e$B$G$Oe(B
| (/ 1 1+1i)
|e$B$Oe(B 1/2 - 1/2i e$B$+e(B 0.5 - 0.5i e$B$N$I$A$i$+$G$9!#e(B
|e$B$7$+$7!"e(B Ruby e$B$Ne(B Complex e$B$G$Oe(B mathn e$B$re(B require e$B$7$J$$>l9ge(B
|-i e$B$K$J$j$^$9!#e(B
|
|$ ruby-1.9 -ve ‘p 1/(1+Complex::I)’
|ruby 1.9.0 (2008-04-24 revision 15721) [i686-linux]
|Complex(0, -1)
|
|e$BJ#AG?t$r;H$&>l9g$K5a$a$i$l$k=|;;$NF0:n$O!"e(BScheme e$B$N$=$l$N$I$A$i$+$@$H;W$$$^$9!#e(B
|e$B$J$N$G!"8=:_$Ne(B Ruby e$B$Ne(B Complex e$B$N!Ve(B/ e$B$N0UL#$O<+?H$N<BIt$H5uIt$KG$$;$k!W$H$$$&e(B
|e$BJ}?K$OJQ$($k$Y$-$@$H;W$$$^$9!#e(B

e$BF10U$7$^$9!#e(B

|e$BA*Br;h$H$7$F$O!“e(B
|
|1. e$B<BIt$H5uIt$,@0?t$NJ#AG?t$N=|;;$O!”<BIt$H5uIt$re(B Rational e$B$KJQ49$7$F$+$i9T$&!#e(B
|2. Complex e$B$r<N$F$Fe(B ComplexFloat e$B$N$_!#e(B
|3. Scheme e$B$Ne(B exact complex e$B$KAjEv$9$ke(B ComplexRational e$B$rF3F~$9$k!#e(B
|4. complex e$B$,>o$Ke(B mathn e$B$re(B require e$B$9$k!#e(B
|
|e$B$,$"$m$&$+$H;W$$$^$9!#e(B

e$B$,!“$I$l$,@5$7$$A*Br$G$”$k$+H=CG$9$k$N$O;d$@$1$G$O:$Fq$J$N$Ge(B
e$B$I$J$?$+0U8+e(B(or e$B>pJse(B)e$B$r$$$?$@$1$^$;$s$+!)e(B

e$B86$G$9!#e(B

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

|> e$B$Ne(B2e$BE@$,$"$2$i$l$F$$$^$9$,!“e(B
|
|e$B$3$l$O!”!Ve(BComplexFloate$B$He(BComplexe$B$NN>J}$,$"$C$?J}$,NI$$M}M3!W$G$Oe(B
|e$B$J$/$F!"!Ve(BComplexFloate$B$,$"$C$?J}$,NI$$M}M3!W$G$9!#e(B

e$B$G$b!"!VN>J}$"$C$?J}$,$h$$!W$H;W$C$F$k$s$G$9$h$M!#$=$NJU$,$he(B
e$B$/$o$+$i$J$$!#e(B

ComplexFloat e$B$@$1$G$OI=8=$G$-$J$$?t$,$"$k$N$G!"e(BComplexe$B$rGQ;_e(B
e$B$9$k;v$O9M$($b$7$F$$$^$;$s!#e(B

|e$B$=$NDL$j$G$9!#e(B

e$B$=$3$O6&M-$7$F$k$s$G$9$M!#$h$+$C$?!#e(B

© e$B$O6&M-$7$F$$$^$9!#!Ve(By e$B$NJ}$O$$$i$J$$!W$r6&M-$7$F$$$J$$$Ne(B
e$B$@$H;W$$$^$9!#e(B

|e$B0lJ}!“e(BComplex e$BMxMQ<T$NB?$/$Oe(B ComplexFloat e$B$,$”$k$N$J$i$=$A$ie(B
e$B$3$G$O!V$"$k!W$H2>Dj$7$FOC$r?J$a$^$9!#e(B
e$B7+$jJV$7$K$J$j$^$9$,!"e(B(d) e$B$NNc$Oe(B

e$BNce(B1

require “rational”
require “complex”

def f(x)
x - Complex(0,1)
end

x = Complex(0, 1.6)
y = Complex(0,Rational(16, 10))
p x == y #=> true
p f(x) == f(y) #=> false

e$B$G$9!#e(B

e$B9TNs<01>!9$H$$$&$N$O!">e$Ne(B f() e$B$NNc$KBP$7$F!V3N$+$Ke(B f(x)
e$B$He(B
f(y) e$B$O0[$J$k$,!"==J,6a$$$N$GLdBj$K$J$i$J$$$N$G$O$J$$$+!W$He(B
e$B$$$&5?Ld$KEz$($k$b$N$G$9!#<!$NNc$,e(B

(e) Complex e$B$G$"$ke(B x e$B$H!"$=$l$HEy$7$$e(B Complex e$B$Ne(B y
e$B$KBP$7$Fe(B
f(x) e$B$He(B f(y) e$B$,$O$C$-$j0[$J$ke(B

e$B$H$$$&$b$N$G$9!#e(B

e$BNce(B2

require “rational”
require “complex”
require “matrix”

def f(x)
Matrix[[Complex(0,1), Complex(0,1), Complex(0,1)],
[Complex(0,1), Complex(0,1.6), Complex(0,1.6)],
[Complex(0,1), Complex(0,1.6), x]].rank
end

x = Complex(0, 1.6)
y = Complex(0,Rational(16, 10))
p x == y #=> true
p f(x) #=> 2
p f(y) #=> 3

e$B$=$N$h$&$J%1!<%9$,$"$k$H$7$F!"$=$l$OK<AE*$K2r7hITG=$J$s$G$7$ge(B
e$B$&$+!#$*$=$i$/$O$=$&$J$s$G$7$g$&$M!#$7$+$7!“IQEY$O$”$^$jB?$/e(B
e$B$J$/!"$o$+$j$d$9$/$J$/!"@bF@NO$b==J,$G$O$J$$$H!#$U$`!#e(B

e$B!VIQEY$OB?$/$J$$!W$O!"e(B1.6 e$B$H$$$&JJ$NM-$kIbF0>.?tE@?t$rLdBj$Ke(B
e$B$7$F$$$k;v$G$9!#0lHL$N>.?t$G$O$3$N$h$&$J;v$O5/$3$j$^$;$s!#e(B

e$B!V$o$+$j$d$9$/$J$$!W$H$$$&$N$O!“e(Brank e$B$H$$$&0lHL$K$OFk@w$_$Ne(B
e$B$J$$4X?t$r$7$+$be(B 3 e$B<!$N9TNs$K;H$C$F$$$k$H$3$m$G$9!#e(B2
e$B<!9TNse(B
e$B$”$k$$$O9TNs$r;H$o$J$$J}K!$G<+A3$JNc$,=P$;$l$PNI$+$C$?$N$G$9e(B
e$B$,!#e(B

e$B!V@bF@NO$,==J,$G$J$$!W$N$O!“B?$/$N?M$K$H$C$Fe(B rank e$B$O$I$&$G$be(B
e$B$$$$$+$i$G$9!#$7$+$7!“e(Brank
e$B$O=EMW$J4X?t$G$”$j!”$^$?$3$3$G;H$oe(B
e$B$l$F$$$ke(B rank
e$B$N7W;;%"%k%4%j%:%`$O!"6K$a$F%]%T%e%i!<$J$b$N$G!“e(B
e$B0lIt$N?M$KBP$7$F$O0lDj$N@bF@NO$O$”$j$^$9!#e(B

e$BJdB-$9$k$H!"!Ve(B(e$BNce(B1)e$B$He(B(e$BNce(B2)e$B$Oe(B x e$B$He(B y
e$B$,@53N?t$+Hs@53N?t$G$"$ke(B
e$B$+$G6hJL$,$G$-$k!W$H$$$&HcH=$,$"$jF@$k$N$G$9$,!"<!$NNc$Oe(B x
e$B$be(B
y e$B$b@53N?t$H$J$j!"6hJL$G$-$J$$Nc$G$9!#e(B

e$BNce(B3

require “rational”
require “complex”
require “matrix”

def f(x)
Matrix[[x, Complex(0,2)],
[Complex(0,2), Complex(0,1)]].rank
end

x = Complex(0,4)
y = Complex(0,Rational(4))
p x == y #=> true
p f(x) #=> 2
p f(y) #=> 1

e$B$3$Ne(B(e$BNce(B3)e$B$KBP$7$F$bMM!9$JHcH=$,$"$jF@$^$9!#Nc$($P!"!V$3$l$Oe(B
Integer#/ e$B$K@UG$$,$"$k$N$G$"$C$F!“e(BComplex e$B$K$O$J$$!W!”!Ve(Bx
e$B$He(B
y e$B$r6hJL$9$k$N$K%/%i%9$rMQ$$$kI,MW$,$"$k$N$+!“JL$N=R8l$r9M$(e(B
e$B$?$i$I$&$+!W!”!V$=$b$=$b$=$N$h$&$JFC<l$J%1!<%9$r9MN8$9$k$?$ae(B
e$B$K?tCM%7%9%F%`$r$$$8$k$Y$-$G$O$J$$!W!"!Ve(BComplexFloat
e$B$rF3F~$7e(B
e$B$F$b$3$NLdBj$,2r7h$5$l$k$o$1$G$O$J$$!#$3$l$,e(B ComplexFloat e$B$re(B
e$BF3F~$9$k:,5r$K$J$k$N$+!)!WEy$G$9!#e(B

e$B$=$l$>$l$KBP$7$F!":FH?O@$O2DG=$G$9$,!":F!9H?O@$b2DG=$G!":F!9!9e(B
e$BH?O@!":F!9!9!9H?O@$HB3$-$=$&$G$9!#e(B

e$B$H$$$&$o$1$G!"e(B(e$BNce(B1)e$B!"e(B(e$BNce(B2)e$B!“e(B(e$BNce(B3)e$B$O!”$=$l$J$j$G$9$,!"35$7$Fe(B
e$B!V@bF@NO$,==J,$G$O$J$$!W$H8@$o$l$F$7$^$C$F$b$7$+$?$,$J$$!#e(B

e$B$3$3$K@bF@NO$,$"$j!“LdBj$,6qBNE*$G$”$l$P!"$=$l$r2r7h$9$k$?$ae(B
e$B$N%"%$%G%#%"$,L5$$$+$_$s$J$GCN7C$r9J$kM>CO$O$"$k$H;W$&$N$G$9e(B
e$B$,!“Ev$NK?M$,$”$-$i$a$F$$$k$h$&$@$7$J$"!#e(B

e$B$=$&$G$9!#e(B

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

In [ruby-dev :34601 ] the message: "[ruby-dev:34601] Re: ComplexFloat
", on May/07 22:31(JST) Yukihiro M. writes:

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

|e$BJ#AG?t$r;H$&>l9g$K5a$a$i$l$k=|;;$NF0:n$O!"e(BScheme e$B$N$=$l$N$I$A$i$+$@$H;W$$$^$9!#e(B
|e$B$J$N$G!"8=:_$Ne(B Ruby e$B$Ne(B Complex e$B$N!Ve(B/ e$B$N0UL#$O<+?H$N<BIt$H5uIt$KG$$;$k!W$H$$$&e(B
|e$BJ}?K$OJQ$($k$Y$-$@$H;W$$$^$9!#e(B

e$BF10U$7$^$9!#e(B

e$B$3$l$Oe(B. e$BC1$Ke(Bcomplex.c{rb}e$B$N%P%0$G$9e(B.

e$B@5D>8@$C$F0RD%$l$J$$>u67$J$N$G$9$,e(B(^^;;;

e$B860x$Oe(Bquoe$B$NF3F~;~$Ke(BComplecxe$B$NJ}$OBP1~$G$-$F$$$J$+$C$?$C$F$3$H$J$s$G$9e(B
e$B$,e(B,
e$B:,K\E*$Ke(B/e$B$He(Bquoe$B$N;H$$J,$1$,Fq$7$$$C$F$3$H$,$"$j$^$9e(B.
Complex::/e$B$NDje(B
e$B5A$J$N$Ke(Bquoe$B$r;H$o$J$/$F$O9T$1$J$$$C$F>u67$K$J$k$3$H$K5$$,IU$-$E$i$$$se(B
e$B$G$9$h$Me(B. e$B$3$l$Oe(B,
Complex::/e$B$O:GE,2=$H$$$&$[$I$G$b$J$$$G$9$,e(B, e$B$A$g$S$Ce(B
e$B$H%3!<%I2~A1$,$5$l$F$$$k$N$G$5$i$K$o$+$j$E$i$/$J$C$F$$$^$9e(B.

e$B$I$J$?$+0U8+e(B(or e$B>pJse(B)e$B$r$$$?$@$1$^$;$s$+!)e(B
e$B:#2s$N$Oe(B, e$B%P%0$H$$$($P%P%0$J$s$G$9$,e(B…

e$B;d$H$7$F$O$"$($F$$$$$^$9$,e(B,

|4. complex e$B$,>o$Ke(B mathn e$B$re(B require e$B$9$k!#e(B

e$B$G$"$je(B,
e$B$+$De(Bcomplexe$B$,AH$9~$$C$F$3$H$O>o$Ke(B4(/e$B$N?6$kIq$$$K$+$s$7$F$Oe(B)
e$B$H$9$k$C$F$3$H$G$9e(B. e$B$d$O$je(B,
/e$B$He(Bquoe$B$N;H$$J,$1$O7k9=Fq$7$$$H;W$$$^$9e(B(e$B$=e(B
e$B$l$J$j$K$o$+$C$F$$$k?M$G$5$($be(B). e$B$3$l$Oe(B,
e$B$U$J$P$5$s$,0JA0$K;XE&$7$F$$e(B
e$B$kDL$je(B,
/e$B$KB-$=$&$;$$$,@.$jN)$C$F$$$J$$$;$$$G5/$3$C$F$$$kLdBj$G$9e(B.
e$B%We(B
e$B%m%0%i%^$KM%$7$/$J$$$3$H$Oe(BRubye$B$N@:?@$KH?$7$F$$$k$C$F$3$H$Ge(B,
4e$B$NJ}?K$Ke(B
e$B0l5$$K9T$-$^$7$g$&e(B!!

4e$B$K$9$k$H2?$,5/$3$k$+$N3NG’$G$9e(B:
1/1 => 1
1/2 => Rational(1,2)
2/2 => 1

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

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

e$B$I!<$G$b$$$$$3$I$@$1e(B.

e$B:G6ae(B, e$B$S$_$g!<$KK;$7$/$Fe(B… e$B$J$+$J$+%a%$%k$,e(B…

In [ruby-dev :34600 ] the message: "[ruby-dev:34600] Re: ComplexFloat
", on May/07 22:21(JST) Yukihiro M. writes:

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

e$B$@$H$9$k$H$=$l$Oe(BSmalltalke$B$H@PDM$5$s$N$*$+$2$G$7$g$&!#;d$O$$e(B
e$B$^$@$K!V72!&4D!&BN!W$J$I$N!VBe?t7O!W$r$^$C$?$/M}2r$7$F$$$^$;e(B
e$B$s$G$9!"$O$$!#e(B

e$B;d$bM}2r$7$F$$$^$;$se(B(^^; e$B$H$$$&$N$O$$$$F$$$$Fe(B,

rubye$B$Ne(Bcomplex.rb e$B$K4X$7$F$OA4$/$N%%j%8%J%k$G$9e(B.
Smalltalke$B$K$Oe(B(e$BEv;~$Oe(B)
Complex(e$B$He(BMatrix)e$B$O$"$j$^$;$s$G$7$?e(B. e$B$"$He(B,
e$B8@$&$^$G$b$J$$$G$9$,e(B,
coercee$B$K4X$7$F$O>>K$5$s$N%
%j%8%J%k$G$9e(B.
e$B>>K$5$s$,$I$3$+$i;W$$$D$$$?e(B
e$B$N$+$O$o$+$j$^$;$s$,e(B…

e$B;d$H$7$F$Oe(BSmalltalke$BJB$G$h$$$H;W$C$F$$$?$N$G$9$,e(B,
e$B:#$Ne(BRubye$BJ}$,0lHL2=$5e(B
e$B$l$F$$$k$N$G$=$l$O$=$l$G$h$$$+$H;W$C$?3P$($,$"$j$^$9e(B. e$B$G$be(B,
e$B$3$l$N$$+e(B
e$B$2$Ge(B,
Rationale$B$He(BBigDecimale$B$NMM$KC1=c$J=g=xNs$K<}$^$i$J$$$b$N$bF3F~2DG=e(B
e$B$K$J$C$?$C$F$3$H$Oe(B, e$B>>K$5$s$N@h8+$NL@$N;rJ
$G$7$g$&e(B(^^;;

e$BM@$a$9$.e(B?

e$B$"$He(B, e$B$I!<$G$b$$$$$3$H$G$J$$$3$H$re(B:

Complexe$B$He(BComplexFloate$B$G$9$,e(B, Complexe$B$rAH$9~$$K$7$Fe(B,
ComplexFloate$B$Oe(B
(e$B:n$k?M$,$$$k$H$7$Fe(B)e$B3HD%%i%$%V%i%j$K$9$l$Pe(B?
e$B$H;W$$$^$9e(B.

e$B%Q%U%)!<%^%s%9$N$3$H$r5$$K$7$Fe(BComlexFloate$B$C$FOC$K$J$C$F$$$k$N$Ge(B,
e$BF3F~e(B
e$B$9$k$K$Oe(B,
e$B:#$N$^$^$G$OCfESH>C<$G%"%m%1!<%7%g%s%l%Y%k$G$b$C$H:GE,2=$9$ke(B
e$BI,MW$,$"$k$H;W$$$^$9e(B.
e$B%W!<%k%"%m%1!<%7%g%s$9$k$H$+e(B(e$B$=$N;~E@$GAH$_9~$_e(B
e$B$O$J$$$C$F$3$H$K$J$k$H;W$$$^$9$,e(B),
e$B$b$C$H4JC1$Ke(BNArraye$B$Ne(BComplexe$BHG$r:n$ke(B
e$B$H$+e(B…

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

In article [email protected],
[email protected] (e$B@PDM7=<ye(B) writes:

e$B%Q%U%)!<%^%s%9$N$3$H$r5$$K$7$Fe(BComlexFloate$B$C$FOC$K$J$C$F$$$k$N$Ge(B, e$BF3F~e(B
e$B$9$k$K$Oe(B, e$B:#$N$^$^$G$OCfESH>C<$G%“%m%1!<%7%g%s%l%Y%k$G$b$C$H:GE,2=$9$ke(B
e$BI,MW$,$”$k$H;W$$$^$9e(B. e$B%W!<%k%"%m%1!<%7%g%s$9$k$H$+e(B(e$B$=$N;~E@$GAH$_9~$_e(B
e$B$O$J$$$C$F$3$H$K$J$k$H;W$$$^$9$,e(B), e$B$b$C$H4JC1$Ke(BNArraye$B$Ne(BComplexe$BHG$r:n$ke(B
e$B$H$+e(B…

NArray e$B$Oe(B complex e$B$r07$($k$h$&$G$9$h!#e(B

http://narray.rubyforge.org/SPEC.ja

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

In message “Re: [ruby-dev:34604] Re: ComplexFloat”
on Thu, 8 May 2008 04:10:48 +0900, [email protected]
(e$B@PDM7=<ye(B) writes:

|rubye$B$Ne(Bcomplex.rb e$B$K4X$7$F$OA4$/$N%%j%8%J%k$G$9e(B. Smalltalke$B$K$Oe(B(e$BEv;~$Oe(B)
|Complex(e$B$He(BMatrix)e$B$O$"$j$^$;$s$G$7$?e(B. e$B$"$He(B, e$B8@$&$^$G$b$J$$$G$9$,e(B,
|coercee$B$K4X$7$F$O>>K$5$s$N%
%j%8%J%k$G$9e(B. e$B>>K$5$s$,$I$3$+$i;W$$$D$$$?e(B
|e$B$N$+$O$o$+$j$^$;$s$,e(B…
|
|e$B;d$H$7$F$Oe(BSmalltalke$BJB$G$h$$$H;W$C$F$$$?$N$G$9$,e(B, e$B:#$Ne(BRubye$BJ}$,0lHL2=$5e(B
|e$B$l$F$$$k$N$G$=$l$O$=$l$G$h$$$+$H;W$C$?3P$($,$"$j$^$9e(B. e$B$G$be(B, e$B$3$l$N$$+e(B
|e$B$2$Ge(B, Rationale$B$He(BBigDecimale$B$NMM$KC1=c$J=g=xNs$K<}$^$i$J$$$b$N$bF3F~2DG=e(B
|e$B$K$J$C$?$C$F$3$H$Oe(B, e$B>>K$5$s$N@h8+$NL@$N;rJ
$G$7$g$&e(B(^^;;
|
|# e$BM@$a$9$.e(B?

e$B$G$7$g$&$M!#e(B

e$BG.3$$G$N9g=I$N$H$-$K!";d$,e(B(CommonLispe$B$r;29M$Ke(B)coercee$B$rF3F~$7e(B
e$B$h$&$HOC$r;}$A=P$7$F!"$=$N>e$G@PDM$5$s$,N>JU$H$bJQ49$7$?$$>le(B
e$B9g$,$"$k$H<gD%$7$?$s$G!":#$N$h$&$Je(Bcoercee$B%7%9%F%`$,$G$-$?$h$&e(B
e$B$K;W$$$^$9!#Ev=i$Oe(Bcoercee$B%a%=%C%I$OCM$r$R$H$D$7$+JV$7$F$^$;$se(B
e$B$G$7$?!#7k6I!"$^$@J#?t$NCM$r;H$&I,MW$,$"$ke(Bcoercee$B$K$O$^$@$*L\e(B
e$B$K$+$+$C$F$^$;$s$,!#$$$d!"$=$&$$$($Pe(BRationale$B$,e(Bselfe$B$re(BFloate$B$KJQe(B
e$B49$7$F$k$+!#e(B

e$B$"$N;~$OJL7o$N9g=Ie(B(GPME)e$B$@$C$?$N$K!"$[$H$s$Ie(BRubye$B$N3+H/$P$+$je(B
e$B$7$F$?$h$&$J5$$,$7$^$9$Me(B(e$B1s$$L\e(B)e$B!#e(B

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

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

In message “Re: [ruby-dev:34603] Re: ComplexFloat”
on Thu, 8 May 2008 03:40:01 +0900, [email protected]
(e$B@PDM7=<ye(B) writes:

|e$B$3$l$Oe(B. e$BC1$Ke(Bcomplex.c{rb}e$B$N%P%0$G$9e(B.
|# e$B@5D>8@$C$F0RD%$l$J$$>u67$J$N$G$9$,e(B(^^;;;
|
|e$B860x$Oe(Bquoe$B$NF3F~;~$Ke(BComplecxe$B$NJ}$OBP1~$G$-$F$$$J$+$C$?$C$F$3$H$J$s$G$9e(B
|e$B$,e(B, e$B:,K\E*$Ke(B/e$B$He(Bquoe$B$N;H$$J,$1$,Fq$7$$$C$F$3$H$,$"$j$^$9e(B. Complex::/e$B$NDje(B
|e$B5A$J$N$Ke(Bquoe$B$r;H$o$J$/$F$O9T$1$J$$$C$F>u67$K$J$k$3$H$K5$$,IU$-$E$i$$$se(B
|e$B$G$9$h$Me(B. e$B$3$l$Oe(B, Complex::/e$B$O:GE,2=$H$$$&$[$I$G$b$J$$$G$9$,e(B, e$B$A$g$S$Ce(B
|e$B$H%3!<%I2~A1$,$5$l$F$$$k$N$G$5$i$K$o$+$j$E$i$/$J$C$F$$$^$9e(B.

Complex::/e$B$Ge(Bquoe$B$r;H$($PEvLL$NLdBj$O2r7h$7$^$;$s$+!)e(B

|e$B;d$H$7$F$O$"$($F$$$$$^$9$,e(B,
|
|>|4. complex e$B$,>o$Ke(B mathn e$B$re(B require e$B$9$k!#e(B
|
|e$B$G$"$je(B, e$B$+$De(Bcomplexe$B$,AH$9~$$C$F$3$H$O>o$Ke(B4(/e$B$N?6$kIq$$$K$+$s$7$F$Oe(B)
|e$B$H$9$k$C$F$3$H$G$9e(B. e$B$d$O$je(B, /e$B$He(Bquoe$B$N;H$$J,$1$O7k9=Fq$7$$$H;W$$$^$9e(B(e$B$=e(B
|e$B$l$J$j$K$o$+$C$F$$$k?M$G$5$($be(B). e$B$3$l$Oe(B, e$B$U$J$P$5$s$,0JA0$K;XE&$7$F$$e(B
|e$B$kDL$je(B, /e$B$KB-$=$&$;$$$,@.$jN)$C$F$$$J$$$;$$$G5/$3$C$F$$$kLdBj$G$9e(B. e$B%We(B
|e$B%m%0%i%^$KM%$7$/$J$$$3$H$Oe(BRubye$B$N@:?@$KH?$7$F$$$k$C$F$3$H$Ge(B, 4e$B$NJ}?K$Ke(B
|e$B0l5$$K9T$-$^$7$g$&e(B!!

e$B$&!<$s!“8D?ME*$K$Oe(B2.0e$B$^$GBT$A$?$+$C$?JQ99$J$N$G$9$,!#$+$J$je(B
e$B1F6A$,Bg$-$$$N$G!”$^$@e(B1.9.0e$B$H$O$$$(!"$3$l$+$iF3F~$9$k$N$K$Oe(B
e$B$?$a$i$o$l$^$9!#e(B

|4e$B$K$9$k$H2?$,5/$3$k$+$N3NG’$G$9e(B:
| 1/1 => 1
| 1/2 => Rational(1,2)
| 2/2 => 1

e$B$3$l$Oe(BRationale$B%j%F%i%k$NF3F~e(B(1/2e$B$,M-M}?t$K$J$ke(B)e$B$d!"e(B
Rational#to_se$B$N%U%)!<%^%C%HJQ99$r4^$`$N$G$7$g$&$+!#e(B

e$B$^$?!"e(BComplexe$B$KBP$7$F$b%j%F%i%kF3F~e(B(1+2ie$B$H$+e(B)e$B$r8!F$$9$k$N$G$7$ge(B
e$B$&$+!#e(B

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

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

In [ruby-dev :34607 ] the message: "[ruby-dev:34607] Re: ComplexFloat
", on May/08 10:25(JST) Tanaka A. writes:

NArray e$B$Oe(B complex e$B$r07$($k$h$&$G$9$h!#e(B

http://narray.rubyforge.org/SPEC.ja

e$B$?$7$+$Ke(B.
e$B0JA0D4$Y$?$H$-$Ke(B,
e$BG$0U$N%*%V%8%'%/%H$bMWAG$K$J$k$3$H$OCN$C$F$$$?$N$G$9e(B
e$B$,e(B, complexe$BEy$OD>@\07$($k$h$&$G$9$Me(B.

e$B:n<T$,e(B,
e$BEDCfe(B(e$B>;e(B)e$B$G$9$+$ie(Bcomplexe$B$,D>@\07$($k$N$OEv$?$jA0$H8@$($PEv$?$je(B
e$BA0$G$9$Me(B.

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

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

In [ruby-dev :34613 ] the message: "[ruby-dev:34613] Re: ComplexFloat
", on May/08 18:24(JST) Yukihiro M. writes:

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

|# e$BM@$a$9$.e(B?
e$B$G$7$g$&$M!#e(B

e$B$$$de(B. e$B2?$+e(B, e$BLn@8$ND>46$,e(B(^^;;

e$BG.3$$G$N9g=I$N$H$-$K!";d$,e(B(CommonLispe$B$r;29M$Ke(B)coercee$B$rF3F~$7e(B
e$B$h$&$HOC$r;}$A=P$7$F!"$=$N>e$G@PDM$5$s$,N>JU$H$bJQ49$7$?$$>le(B
e$B9g$,$"$k$H<gD%$7$?$s$G!":#$N$h$&$Je(Bcoercee$B%7%9%F%`$,$G$-$?$h$&e(B
e$B$K;W$$$^$9!#Ev=i$Oe(Bcoercee$B%a%=%C%I$OCM$r$R$H$D$7$+JV$7$F$^$;$se(B
e$B$G$7$?!#7k6I!"$^$@J#?t$NCM$r;H$&I,MW$,$"$ke(Bcoercee$B$K$O$^$@$*L\e(B
e$B$K$+$+$C$F$^$;$s$,!#$$$d!"$=$&$$$($Pe(BRationale$B$,e(Bselfe$B$re(BFloate$B$KJQe(B
e$B49$7$F$k$+!#e(B

e$B$&!<$`e(B. e$B$=$s$JOC$G$7$?$C$1e(B? e$B$G$be(B,
e$B>>K$5$s$,8@$&$J$i$=$NDL$j$+$be(B…
e$B$s$Ge(B, e$B=EMW$J$N$Oe(B:

e$B$=$N>e$G@PDM$5$s$,N>JU$H$bJQ49$7$?$$>l9g$,$"$k$H<gD%$7$?$s$G!":#$N$he(B
e$B$&$Je(Bcoercee$B%7%9%F%`$,$G$-$?$h$&$K;W$$$^$9!#Ev=i$Oe(Bcoercee$B%a%=%C%I$OCM$re(B
e$B$R$H$D$7$+JV$7$F$^$;$s$G$7$?!#e(B

e$B$N7o$G$9$h$M$'e(B…
e$B$"$^$j$K$b1s$$OC$J$s$Ge(B… 10e$BG/0J>eA0$NOC$G$9$7e(B,
e$B$=$l$3$=D>@\OC$?$N$Ge(B,
e$B5U$K%m%0$b;D$C$F$$$J$$$G$9$7e(B. e$B$C$F$$$&$+e(B:

e$B$"$N;~$OJL7o$N9g=Ie(B(GPME)e$B$@$C$?$N$K!"$[$H$s$Ie(BRubye$B$N3+H/$P$+$je(B
e$B$7$F$?$h$&$J5$$,$7$^$9$Me(B(e$B1s$$L\e(B)e$B!#e(B

e$B$C$F$3$H$Oe(B, e$BJL2q5DCf$N%%=%%=OC$C$F$3$H$Me(B(^^;;;

e$B$Ge(B, e$BOC$OLa$j$^$9$,e(B…

e$BN>J}$,JQ49$5$l$k$3$H$r9M$($?$N$G$O$J$/$Fe(B,
e$B?7$?$K?7$7$$?t%/%i%9$rDI2C$7e(B
e$B$?$H$-$K$I$&$J$k$+$r9M$($?$s$@$H;W$$$^$9e(B.

e$B$3$NJU$j$Oe(B,

e$BK\6He(B(e$B%b%G%j%s%0e(B)e$B;~$K$b>o$K9M$($k$3$H$J$N$Ge(B,
e$B$=$N;~$b$=$&e(B

e$B9M$($?$G$7$g$&e(B(^^;

e$B:#$Ne(B rubye$B$Oe(B

a op b

e$B$G1i;;$,$G$-$J$$$H$-e(B

a’, b’ = b.coerce(a)

a’ op b’

e$B$G$9e(B. 1e$B$D$@$1JQ49$Oe(B, e$BJ,$+$i$J$$J}$rJQ$($ke(B:

a’ = b.coerce(a)

a’ op b

e$B$N$3$H$@$H;W$$$^$9e(B.

e$B2?$H$J$/;W$$=P$7$^$7$?e(B.

e$B$3$l$G:$$k$N;vNc$H$7$F$Oe(B:

a: e$BJ#AG?te(B e$B$,@h$KDj5A$5$l$F$$$Fe(B b: e$BM-M}?te(B
e$B$,8e$+$iDj5A$5$l$?$h$&$J%Q%?!<e(B
e$B%s$G$9e(B.

e$B$3$N>l9ge(B,
ae$B$r$$$/$iJQ49$7$F$b1i;;2DG=$K$J$i$J$$$G$9e(B(e$BFC<l$J%/%i%9$rF3F~e(B
e$B$7$J$$8B$j$,5AM}e(B). e$B$3$N>l9g$Oe(B,
be$B$rJ#AG?t$KJQ49$7$J$/$F$O$J$j$^$;$se(B.

PS.
e$B$3$N;vNc$N$O$8$a$F$NNc$H$7$F$Oe(B,
BigDecimale$B$,F3F~$5$l$?$H$-$K%A%c%s%9$,e(B
e$B$"$C$?$N$G$9$,e(B,
e$B;d$NEXNO$,B-$j$J$/$F@bF@$7$-$l$:$*8_$$$KJQ49ITG=$H$J$je(B
e$B$^$7$?e(B…

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

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

e$B$J$s$+e(B, e$BBg:n$K$J$C$F$7$^$$$^$7$?e(B(__;

In [ruby-dev :34614 ] the message: "[ruby-dev:34614] Re: ComplexFloat
", on May/08 18:37(JST) Yukihiro M. writes:

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

Complex::/e$B$Ge(Bquoe$B$r;H$($PEvLL$NLdBj$O2r7h$7$^$;$s$+!)e(B

e$B$N$O$:$G$9e(B.

|e$B;d$H$7$F$O$"$($F$$$$$^$9$,e(B,

e$B1F6A$,Bg$-$$$N$G!“$^$@e(B1.9.0e$B$H$O$$$(!”$3$l$+$iF3F~$9$k$N$K$Oe(B
e$B$?$a$i$o$l$^$9!#e(B

e$B<+J,$GDs0F$7$F$$$F$J$s$J$s$G$9$,e(B(^^;

e$B$=$l$OF3F~$rA08~$-$K9M$($F$$$k$C$F$3$H$G$9!)e(B

e$B$=$l$@$H$7$?$ie(B, (e$B$+$J$je(B(^^;)e$B>-Mh$NOC$G$“$k$H$7$F$be(B,
e$B$=$&$$$&OC$G$”$k$Je(B
e$B$ie(B,
e$B$=$l$rA0Ds$H$7$?BP1~$r$7$F$$$/%m!<%I%^%C%W$r9M$($F$$$+$J$/$F$O$J$ie(B
e$B$J$$$H;W$$$^$9e(B.

|4e$B$K$9$k$H2?$,5/$3$k$+$N3NG’$G$9e(B:

e$B$3$l$Oe(BRationale$B%j%F%i%k$NF3F~e(B(1/2e$B$,M-M}?t$K$J$ke(B)e$B$d!"e(B
Rational#to_se$B$N%U%)!<%^%C%HJQ99$r4^$`$N$G$7$g$&$+!#e(B

e$B$^$?!"e(BComplexe$B$KBP$7$F$b%j%F%i%kF3F~e(B(1+2ie$B$H$+e(B)e$B$r8!F$$9$k$N$G$7$ge(B
e$B$&$+!#e(B

e$B%j%F%i%kF3F~$K4X$7$F$OA4$/9M$($F$$$J$+$C$?$G$9e(B.
/e$B$K4X$7$F$O%j%F%i%k$Oe(B
e$BFq$7$$$G$9$h$Me(B? int/int e$B$Oe(B rational e$B$@$1$I$be(B,
e$B$=$NB>$Oe(B e$B0c$&$H$+e(B,.,. e$BFqe(B
e$B$7$$$H8@$&$+LLE]$+$Je(B?

complexe$B$K4X$7$F$Oe(B, e$B$[$s$H:#99$J$s$G$9$,e(B…
e$BB$O@5D8@$C$FAH$9~$$K$7e(B
e$B$?$/$J$C$?M}M3$,$h$/J,$+$i$J$$$N$G$9$,e(B,
e$BK\5$$GAH$9~$$K$9$k$J$i:#$N>ue(B
e$B67$O$A$g$C$HCfESH>C<$+$J$H;W$C$F$$$^$9e(B.

rational(e$BM-M}?te(B)e$B$O;MB’1i;;Cf$KI,A3E*$K=P$F$/$k35G0$G$9e(B.
e$B$D$^$je(B, e$B@0?t$Ne(B
e$B3d$j;;$re(B(e$BBe?tE*$Ke(B)e$B3HD%$9$k$H<+A3$KM-M}?t$N35G0e(B(e$B%/%i%9e(B)e$B$O=P$F$-$^$9e(B.
e$B$He(B
e$B$$$&$3$H$Ge(B,
e$B@N$+$ie(B/e$B$GM-M}?t$r$C$FOC$O;d0J30$N?M$+$i$b$+$J$j=P$F$-$F$$e(B
e$B$^$9e(B.

e$B$s$Ge(B, e$BJ#AG?t$G$9$,e(B,
e$B@0?te(B(e$B$r4^$`<B?t$Ne(B)e$B;MB’1i;;$G$OI,MW$K$J$k$3$H$O$"$je(B
e$B$^$;$se(B. e$B$G$Oe(B, e$B$I$3$GI,MW$K$J$k$+$H$$$&$He(B,
sqrte$B$dD61[4X?t$N5U4X?te(B(loge$BEye(B)
e$B$G$9e(B. e$B$J$N$Ke(B, CMathe$B$C$FOC$,=P$F$$$k$N$Ge(B, e$B$J$ie(B,
e$BJ#AG?t$OFC$KAH$9~$$Ke(B
e$B$9$kI,MW$J$$$8$c$se(B? e$B$C$F46$8$J$s$G$9$h$Me(B…

Pythone$BEy$Oe(B,
sqrte$BEy$Ge(Bcomplexe$B$,5"$k$HM=A[30$N%P%0$,5/$3$k2DG=@-$,$“$k$He(B
e$B$$$&$3$H$Ge(B, e$B%(%i!<$rJV$9$H8@$C$F$$$^$9$,e(B, e$B$=$l$C$Fe(B,
Pythonte$BN.$N9M$(J}e(B
e$B$G$”$C$Fe(B.
e$BF0E7?%7%9%F%`$r;}$A$+$D$=$NM-MQ@-$r?.$8$k%%V%8%'%/%H;X8~F;e(B
e$B$rJb$s$G$-$?e(BRubye$BE*$K$O0c$&$s$8$c$J$$$C$F;W$C$F$$$^$9e(B.

sqrte$B$GJ#AG?t$,$+$($C$F$b$=$N$“$H$N%W%m%m%3%kIT0lCW$^$?$Oe(B,
e$B7k2L$,J#AG?te(B
e$B$K$J$kEy$G4JC1$K%P%0$,J,$+$k$O$:$@$H;W$C$F$$$^$9e(B.
e$B5$$K$J$k$N$O0lEYJ#AGe(B
e$B?t$,5”$C$F$b$=$N$“$H$N1i;;7k2L$K$h$C$F6vA3<B?t$K$J$k$C$F$3$H$J$s$G$9$,e(B,
e$B$=$l$C$Fe(B, e$B$+$J$j?t%7%9%F%`$N:,K$K4X$9$k$b$N$Ge(B,
e$BK\Ev$K$b$7<B?t$KLa$k$3e(B
e$B$H$,$”$k$J$i$=$l$O<B$O$b$H$b$H@5$7$$7k2L$rJV$7$F$$$k$3$H$K$J$C$F$$$k$3e(B
e$B$H$,B?$$$H;W$$$^$9e(B.

ex)

-1.sqrt => e$BK\Mh$O%(%i!<e(B
(-1.sqrt)*(-1.sqrt) => e$BK\Mh$O%(%i!<e(B

-1.sqrt => Complex(0,1)
(-1.sqrt)*(-1.sqrt) => -1(e$B@5$7$$CMe(B)

e$B2?$,8@$$$?$$$+$H$$$&$He(B
Pythone$B$G8@$C$F$$$k;XE&$O$=$l$[$IE*3N$H$O8@$($Je(B
e$B$/e(B, e$BK\Mh%(%i!<$G$"$k$Y$-$H$3$m$O$d$O$j%(%i!<$K$J$k$7e(B,
e$B$=$&$G$J$$$H$3$me(B
e$B$O5U$K$A$c$s$H7W;;$G$-$k$h$&$K$J$C$F$&$l$7$$$O$:$C$F$3$H$G$9e(B.

coercee$B$NOC$8$c$J$$$G$9$,e(B,

e$B0lEYe(Bfloate$B$KMn$A$?$b$N$,@0?t$KLa$k$3$H$O$a$Ce(B

e$B$?$K$J$$$C$FOC$H;w$F$$$^$9e(B.

e$B$H$$$&$3$H$Ge(B, e$B;d$N7kO@$G$9$,e(B,

complexe$B$rAH$9~$$K$9$k$J$ie(B, CMathe$BAjEv$bAH$9~$$K$9$Y$-e(B,
e$B$=$&$G$J$$$Je(B
e$B$ie(B, complexe$B$rAH$9~$$K$7$J$$$Ge(B, e$B3HD%%i%$%V%i%j$K$7e(B,
e$B$+$De(BCMathe$BAjEv$b$=e(B
e$B$N3HD%%i%$%V%i%j$KF~$l$ke(B.

e$B;d$H$7$F$Oe(B, e$BEvA3A0<T$r?dA*$7$^$9$,e(B(^^;

e$B$"$He(B, e$B%j%F%i%kI=8=$K4X$7$F$G$9$,e(B,
Rationale$B$be(BComplexe$B$bL5M}$K%j%F%i%k$,e(B
e$B$J$/$FD%$C$F>u67$G$O$J$$$H;W$$$^$9e(B.

(e$B1i;;$H$7$Fe(B) 1/2 => Rational(1,2)

e$B$K$J$k$J$ie(B,
e$B1i;;$7$F$$$F$b%j%F%i%kE*$J$N$Ge(B,e$B$=$l0J>e$rK>$`I,MW$b$J$$$+e(B
e$B$H8D?ME*$K$O;W$C$F$$$^$9e(B.

e$BJ#AG?t$K4X$7$F$Oe(B, e$B%j%F%i%kE*$JI=8=$OFq$7$$$H$$$&$+e(B,
e$B$5$9$,$Ke(B:

1 + 1i

e$B$r%j%F%i%k$K$7$m$C$F?M$O$$$J$$$H;W$$$^$9e(B. e$B$d$O$je(B,

%C(1, 1)

e$B$H$+$G$$$$$N$G$Oe(B? e$B$=$&$9$k$He(B,
Rationale$B$b$C$FOC$K$J$k$s$G$9$,e(B,

%R, %r

e$B$b;H$o$l$F$$$k$7e(B, e$B$"$HJ,$+$k?M$K$OJ,$+$ke(B

%Q, %q

e$B$b;H$o$l$F$$$k$7e(B, e$B$A$g$C$HG:$`$H$3$m$J$N$G$9$,e(B…

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

e$B86$G$9!#e(B

e$B$3$s$P$s$Oe(B sheepman e$B$G$9!#e(B

$ ruby-1.9 -ve ‘p 1/(1+Complex::I)’
ruby 1.9.0 (2008-04-24 revision 15721) [i686-linux]
Complex(0, -1)

e$BA*Br;h$H$7$F$O!"e(B

  1. e$B<BIt$H5uIt$,@0?t$NJ#AG?t$N=|;;$O!"<BIt$H5uIt$re(B Rational e$B$KJQ49$7$F$+$i9T$&!#e(B
  2. Complex e$B$r<N$F$Fe(B ComplexFloat e$B$N$_!#e(B
  3. Scheme e$B$Ne(B exact complex e$B$KAjEv$9$ke(B ComplexRational e$B$rF3F~$9$k!#e(B
  4. complex e$B$,>o$Ke(B mathn e$B$re(B require e$B$9$k!#e(B

e$B$,$"$m$&$+$H;W$$$^$9!#e(B

e$B@PDM$5$s$,e(B [ruby-dev:34603] e$B$G!"$3$l$O%P%0$@$H8@$C$F$k$N$G!“e(B
e$B%J%K$J$s$G$9$,!”;d$N@b$O!"e(B

  1. Complex e$B$O$3$N$^$^$Ge(BOKe$B!#e(B

e$B$G$9!#e(B

e$B$3$N!Xe(BComplex e$B$3$N$^$^$G%b!<%^%s%?%$M}O@!Y$O0J2<$NDL$j!#e(B

e$B$^$:!“e(BRuby
e$B$K!VJ#AG?t!W$H$$$&%/%i%9$,$”$k$H$$$&$3$H<+BN!“IT;We(B
e$B5D$@!#$H$$$&$N$O!”$=$b$=$be(B Ruby e$B$K$O!V<B?t!W$H$$$&%/%i%9$,L5e(B
e$B$$$+$i$@!#e(B

e$B!V<B?t!W$,L5$$$0$i$$$@$+$i!VJ#AG?t!W$bM-$k$O$:$,L5$$!#e(B

e$B5U$K8@$($P!"@0?t$r%i%C%W$7$Fe(B / e$B$re(B quo
e$B$K$9$k$h$&$J!“e(BComplex
e$B$r:n$k$J$i!”@0?t$r%i%C%W$7$Fe(B / e$B$re(B quo
e$B$K$9$k$h$&$J!“e(BReal e$B$r$Je(B
e$B$<:n$i$J$$$N$+!”$H$$$&$3$H$K$J$k!#e(B

e$B$H$3$m$G!“e(BRuby
e$B$G!”$=$b$=$bAH$9~$$G!V<B?t!W$rI=8=$9$k%$%s%9e(B
e$B%?%s%9$r;}$AF@$k%/%i%9$,$"$l$PNI$+$C$?$N$+$H$$$&$H$=$&$G$O$Je(B
e$B$$!#e(B

e$B$H$$$&$N$O!"!V<B?t!W$H$$$&$N$O!"L58B@:EY$r;}$D?tCM$J$N$G!“e(B
Float e$B$5$(1i;;$N5sF0$r9M$($l$P!V<B?t!W$H8F$V$Y$-$G$J$$$H$$$&e(B
e$B@b$b$”$k!#e(B

e$B99$K!"$b$H$b$H!V<B?t!W$O7W;;5!$G$OI=8=$G$-$J$$!#O"B3BN$G$"$ke(B
e$B<B?t$N=89g$H$7$F$NG;EY$O7W;;5!$GI=8=$G$-$k?t$N=89g$NG;EY$h$je(B
e$BBg$-$$!#e(B

e$B$b$7!V<B?t!W$rI=8=$9$k$H>N$9$k%/%i%9$r;}$D$J$i$P!"$=$l$O8XBge(B
e$B9-9p$@$m$&!#e(B

e$B$=$7$F!“e(BRuby e$B$Oe(B Integere$B!“e(BFloate$B!“e(BRational
e$B$r;}$D$,!”!V<B?t!W$re(B
e$BI=8=$9$k%/%i%9$r;}$C$F$$$J$$!#$=$3$K!”<+J,$N=PMh$k$3$H$O$3$le(B
e$B$@$1$@$h!”$H$$$&N(D>$5!"8,5u$5$,I=$l$F$$$k$7!“O@M}E*$G$”$k!#e(B

e$B$5$F!“0J>e$N8+CO$+$i$7$Fe(B Ruby e$B$Ke(B Complex
e$B$H$$$&!”%$%s%9%?%s%9e(B
e$B$r;}$AF@$k%/%i%9$rAH$9~$$G;}$D$N$O$I$&2r<a$9$l$P$$$$$+!#e(B

e$BFMA3e(B Complex
e$B$,8=$l$F$b!"$5$C$-=R$Y$?M}M3$G!VJ#AG?t!W$G$"$k$Oe(B
e$B$:$,$J$$$N$G!“2?$+$N^/Mn$+%”%$%m%K!<$+!"$"$k$$$O!VJ#AG?t!W$re(B
e$B;W$o$;$k2?$+$G$"$k$K0c$$$J$$!#$=$7$F!"Dj5A$r8+$F!"3N$+$KJ#AGe(B
e$B?tE*$J;MB’1i;;$r;}$D%*%V%8%’%/%H$r@8@.$9$k;EAH$_$@$HJ,$+$k!#e(B

e$B$9$J$o$A!“4X?te(B Complex()
e$B$O!VJ#AG?t!W$rJV$9$H$$$&$h$j!”?tCM$Ne(B
e$B%Z%"$r:n$j$=$l$J$j$N;MB’1i;;5!G=$r;}$?$;$ke(B Complexification
(e$BJ#AG2=e(B=e$BJ#AG$C$]$/$9$k$3$He(B)e$B$NN,$G$"$k!#%/%i%9e(B Complex
e$B$Oe(B
Complexification e$B$N<u$1;.$J$N$G$"$k!#e(B

e$B$=$7$F!"B?$/$N%f!<%6!<$O!"e(BFloat [email protected],$Ne(B Complex
e$B$r;H$&$@$m$&$7!"e(B
e$B$=$&$G$J$$%f!<%6!<$O!"MQES$K9g$o$;$F9)IW$7$Fe(B Complex
e$B$r;H$&$@e(B
e$B$m$&!#e(B

e$B$h$C$F$3$N$N$^$^$Ge(BOKe$B!#e(B

… e$B$H$$$&M}O@e(B:-)e$B$G$9!#e(B

e$B86$G$9!#e(B

e$B$$$de(B. e$B2?$+e(B, e$BLn@8$ND>46$,e(B(^^;;

e$BG.3$$G$N9g=I$N$H$-$K!";d$,e(B(CommonLispe$B$r;29M$Ke(B)coercee$B$rF3F~$7e(B
e$B$h$&$HOC$r;}$A=P$7$F!"$=$N>e$G@PDM$5$s$,N>JU$H$bJQ49$7$?$$>le(B
e$B9g$,$"$k$H<gD%$7$?$s$G!":#$N$h$&$Je(Bcoercee$B%7%9%F%`$,$G$-$?$h$&e(B
e$B$K;W$$$^$9!#Ev=i$Oe(Bcoercee$B%a%=%C%I$OCM$r$R$H$D$7$+JV$7$F$^$;$se(B
e$B$G$7$?!#7k6I!"$^$@J#?t$NCM$r;H$&I,MW$,$"$ke(Bcoercee$B$K$O$^$@$*L\e(B
e$B$K$+$+$C$F$^$;$s$,!#$$$d!"$=$&$$$($Pe(BRationale$B$,e(Bselfe$B$re(BFloate$B$KJQe(B
e$B49$7$F$k$+!#e(B

Rational e$B$,AH$9~$$K$J$l$Pe(B(e$B$J$C$F$k$1$Ie(B)e$B!"e(Bcoerce
e$B$r5/F0$7$Je(B
e$B$$MM$K$7$?J}$,8zN($$$$$s$8$c$J$$$+$J!#e(B

e$BN>J}$,JQ49$5$l$k$3$H$r9M$($?$N$G$O$J$/$Fe(B, e$B?7$?$K?7$7$$?t%/%i%9$rDI2C$7e(B
e$B$?$H$-$K$I$&$J$k$+$r9M$($?$s$@$H;W$$$^$9e(B.

e$B:G=ie(B coerce e$B$r8+$?$H$-!"$d$?$i$?$i$$2s$7$7$F$$$k$N$,%o%1%o%+e(B
e$B$s$J$/$F!“M}M3$,J,$+$C$?;~46F0$7$^$7$?$h!#$h!<$3$s$J$3$H9M$(e(B
e$B$k$o!”$H!#e(B

Complex::/e$B$Ge(Bquoe$B$r;H$($PEvLL$NLdBj$O2r7h$7$^$;$s$+!)e(B

e$B$N$O$:$G$9e(B.

Complex#/ e$B$re(B quo
e$B$HF1Ey$K$9$k$C$F$3$H$G$9$h$M!#$=$l$O$=$l$G$h$$$N$+$be(B
e$B$7$l$^$;$s$,!"$=$&$9$k$H!"e(B

1 / 3 == Complex(1) / 3

e$B$,@.$jN)$?$J$/$J$j$^$9$M!#e(Bmathn e$B$5$l$?>l9g$O!"e(B

1.eql?(Complex(1)) #=> true

e$B$G$5$($"$j$^$9!#$@$+$i!“e(Bmathn
e$B$7$?>l9g$O!”@.$jN)$A$^$9$,!“4pK\E*$K$O!“e(B
1 / 3 == Complex(1).quo(3) e$B$O@.$jN)$A$^$;$s!#e(BComplex#/ e$B$re(B
quo e$B$K$7$F$b!“e(B
e$B7k6Ie(B Integer#/
e$B$,$*$+$7$$$H$$$&$3$H$OJQ$j$J$/!”$^$:$^$9L@Gr$K$J$k!”$He(B
e$B$$$&$3$H$,$”$j$^$9!#e(B

e$B$=$N$"$?$j$rN;2r$7$F$b$i$&I,MW$,$"$k$H;W$$$^$9!#e(B

e$B$s$Ge(B, e$BJ#AG?t$G$9$,e(B, e$B@0?te(B(e$B$r4^$`<B?t$Ne(B)e$B;MB’1i;;$G$OI,MW$K$J$k$3$H$O$"$je(B
e$B$^$;$se(B. e$B$G$Oe(B, e$B$I$3$GI,MW$K$J$k$+$H$$$&$He(B, sqrte$B$dD61[4X?t$N5U4X?te(B(loge$BEye(B)
e$B$G$9e(B. e$B$J$N$Ke(B, CMathe$B$C$FOC$,=P$F$$$k$N$Ge(B, e$B$J$ie(B, e$BJ#AG?t$OFC$KAH$9~$$Ke(B
e$B$9$kI,MW$J$$$8$c$se(B? e$B$C$F46$8$J$s$G$9$h$Me(B…

e$B:#2s$N2~3W$O!“e(BRational
e$B$r$b$&>/$77rA4$K$7$?$$$H!”$$$&$3$H$,$"$C$F!"$5e(B
e$B$i$K!"e(Bruby
e$B$N?tCM%/%i%972$r$b$C$H7rA4$K$7$?$$$H$$$&!"AGKQ$JH/A[$+$i;Oe(B
e$B$^$C$?$H;W$$$^$9!#e(B

e$BC1=c$K!“e(BCommon Lisp e$B$de(B Scheme
e$B$N$h$&$K$7$?$$$H$$$&;W$$$b$”$C$F!"FC$K!"e(B
ruby e$B$G$O!"e(Bmathn e$B$r4^$a$k$H!"e(BCommon Lisp
e$B$N?tCM7O$H?FOB@-$,9b$$$h$&$Ke(B
e$B;W$$$^$9!#$=$l$G!"8D?ME*$K$O!"e(BCommon Lisp
e$B$r$+$J$j$*<jK$H$7$F=E;k$7$Fe(B
e$B$$$^$9!#e(B

e$B8D?ME*$K$O!"e(BCommon Lisp
e$B$NAm>N@-$rBg;v$K;W$C$F$$$^$9!#86$5$s$NOC$O!"L$e(B
e$B$@$K$h$/H=$i$J$$$G$9$,!"35$M!“e(BComplex
e$B<+BN$H$$$&$h$j!”@53N?t$HHs@53N?te(B
e$B$K$D$$$F$NOC$r$5$l$F$$$k$h$&$K;W$$$^$9$,!"7k6I$3$l$OAm>N@-$NH]Dj$K8~$Ce(B
e$B$F$$$k$H;W$$$^$9!#e(B

Math e$B$H$OJL$K!“e(BCMath
e$B$r:n$k!”$H$$$&$N$bF1$8$/Am>N@-$NH]Dj$G!"e(BCommon
Lisp e$B$,<($7$?$b$N!"e(Bmathn
e$B$,L;X$7$F$$$?H&$N$b$N!“KM$,L;X$7$F$$$?J}8~e(B
e$B$+$i!”$+$J$j$:$l$F$-$F$$$^$9!#e(B

e$B$=$&$$$&0UL#$G!"@PDM$5$s$N$$$o$l$k$3$H$O$h$/H=$k5$$,$7$F$$$k$N$G$9$,!“e(B
e$B8D?ME*$K$O!”$=$N$"$?$j$O!"8e!9@bF@$G$-$l$P$$$$$J$H9M$($F$$$^$7$?!#e(B