Prefix math_* funcs

e$B:XF#$H?=$7$^$9!#e(B

complex.ce$B$G;H$&$?$a$K!"$$$/$D$+?t3X4X?t$+$ie(Bstatice$B$,$H$l$?$h$&$G$9$,!"e(B
e$B30It$K=P$9$J$i$Pe(B rb_ e$B@\F,<-$rIU$1$F$[$7$$$G$9!#e(B

Index: complex.c

— complex.c (revision 19925)
+++ complex.c (working copy)
@@ -414,31 +414,31 @@
return rb_funcall2(rb_cComplex, id_convert, argc, argv);
}

-extern VALUE math_atan2(VALUE obj, VALUE x, VALUE y);
-extern VALUE math_cos(VALUE obj, VALUE x);
-extern VALUE math_cosh(VALUE obj, VALUE x);
-extern VALUE math_exp(VALUE obj, VALUE x);
-extern VALUE math_hypot(VALUE obj, VALUE x, VALUE y);
-extern VALUE math_log(int argc, VALUE *argv);
-extern VALUE math_sin(VALUE obj, VALUE x);
-extern VALUE math_sinh(VALUE obj, VALUE x);
-extern VALUE math_sqrt(VALUE obj, VALUE x);
+extern VALUE rb_math_atan2(VALUE obj, VALUE x, VALUE y);
+extern VALUE rb_math_cos(VALUE obj, VALUE x);
+extern VALUE rb_math_cosh(VALUE obj, VALUE x);
+extern VALUE rb_math_exp(VALUE obj, VALUE x);
+extern VALUE rb_math_hypot(VALUE obj, VALUE x, VALUE y);
+extern VALUE rb_math_log(int argc, VALUE *argv);
+extern VALUE rb_math_sin(VALUE obj, VALUE x);
+extern VALUE rb_math_sinh(VALUE obj, VALUE x);
+extern VALUE rb_math_sqrt(VALUE obj, VALUE x);

-#define m_atan2_bang(x,y) math_atan2(Qnil,x,y)
-#define m_cos_bang(x) math_cos(Qnil,x)
-#define m_cosh_bang(x) math_cosh(Qnil,x)
-#define m_exp_bang(x) math_exp(Qnil,x)
-#define m_hypot(x,y) math_hypot(Qnil,x,y)
+#define m_atan2_bang(x,y) rb_math_atan2(Qnil,x,y)
+#define m_cos_bang(x) rb_math_cos(Qnil,x)
+#define m_cosh_bang(x) rb_math_cosh(Qnil,x)
+#define m_exp_bang(x) rb_math_exp(Qnil,x)
+#define m_hypot(x,y) rb_math_hypot(Qnil,x,y)

static VALUE
m_log_bang(VALUE x)
{

  • return math_log(1, &x);
  • return rb_math_log(1, &x);
    }

-#define m_sin_bang(x) math_sin(Qnil,x)
-#define m_sinh_bang(x) math_sinh(Qnil,x)
-#define m_sqrt_bang(x) math_sqrt(Qnil,x)
+#define m_sin_bang(x) rb_math_sin(Qnil,x)
+#define m_sinh_bang(x) rb_math_sinh(Qnil,x)
+#define m_sqrt_bang(x) rb_math_sqrt(Qnil,x)

static VALUE
m_cos(VALUE x)
Index: math.c

— math.c (revision 19925)
+++ math.c (working copy)
@@ -82,7 +82,7 @@
*/

VALUE
-math_atan2(VALUE obj, VALUE y, VALUE x)
+rb_math_atan2(VALUE obj, VALUE y, VALUE x)
{
Need_Float2(y, x);
return DBL2NUM(atan2(RFLOAT_VALUE(y), RFLOAT_VALUE(x)));
@@ -98,7 +98,7 @@
*/

VALUE
-math_cos(VALUE obj, VALUE x)
+rb_math_cos(VALUE obj, VALUE x)
{
Need_Float(x);
return DBL2NUM(cos(RFLOAT_VALUE(x)));
@@ -113,7 +113,7 @@
*/

VALUE
-math_sin(VALUE obj, VALUE x)
+rb_math_sin(VALUE obj, VALUE x)
{
Need_Float(x);

@@ -182,7 +182,7 @@
*/

static VALUE
-math_atan(VALUE obj, VALUE x)
+rb_math_atan(VALUE obj, VALUE x)
{
Need_Float(x);
return DBL2NUM(atan(RFLOAT_VALUE(x)));
@@ -204,7 +204,7 @@
*/

VALUE
-math_cosh(VALUE obj, VALUE x)
+rb_math_cosh(VALUE obj, VALUE x)
{
Need_Float(x);

@@ -228,7 +228,7 @@
*/

VALUE
-math_sinh(VALUE obj, VALUE x)
+rb_math_sinh(VALUE obj, VALUE x)
{
Need_Float(x);
return DBL2NUM(sinh(RFLOAT_VALUE(x)));
@@ -318,7 +318,7 @@
*/

VALUE
-math_exp(VALUE obj, VALUE x)
+rb_math_exp(VALUE obj, VALUE x)
{
Need_Float(x);
return DBL2NUM(exp(RFLOAT_VALUE(x)));
@@ -344,7 +344,7 @@
*/

VALUE
-math_log(int argc, VALUE *argv)
+rb_math_log(int argc, VALUE *argv)
{
VALUE x, base;
double d;
@@ -439,7 +439,7 @@
*/

VALUE
-math_sqrt(VALUE obj, VALUE x)
+rb_math_sqrt(VALUE obj, VALUE x)
{
double d;

@@ -541,7 +541,7 @@
*/

VALUE
-math_hypot(VALUE obj, VALUE x, VALUE y)
+rb_math_hypot(VALUE obj, VALUE x, VALUE y)
{
Need_Float2(x, y);
return DBL2NUM(hypot(RFLOAT_VALUE(x), RFLOAT_VALUE(y)));
@@ -678,34 +678,34 @@
rb_define_const(rb_mMath, “E”, DBL2NUM(exp(1.0)));
#endif

  • rb_define_module_function(rb_mMath, “atan2”, math_atan2, 2);
  • rb_define_module_function(rb_mMath, “cos”, math_cos, 1);
  • rb_define_module_function(rb_mMath, “sin”, math_sin, 1);
  • rb_define_module_function(rb_mMath, “atan2”, rb_math_atan2, 2);

  • rb_define_module_function(rb_mMath, “cos”, rb_math_cos, 1);

  • rb_define_module_function(rb_mMath, “sin”, rb_math_sin, 1);
    rb_define_module_function(rb_mMath, “tan”, math_tan, 1);

    rb_define_module_function(rb_mMath, “acos”, math_acos, 1);
    rb_define_module_function(rb_mMath, “asin”, math_asin, 1);

  • rb_define_module_function(rb_mMath, “atan”, math_atan, 1);
  • rb_define_module_function(rb_mMath, “atan”, rb_math_atan, 1);
  • rb_define_module_function(rb_mMath, “cosh”, math_cosh, 1);
  • rb_define_module_function(rb_mMath, “sinh”, math_sinh, 1);
  • rb_define_module_function(rb_mMath, “cosh”, rb_math_cosh, 1);

  • rb_define_module_function(rb_mMath, “sinh”, rb_math_sinh, 1);
    rb_define_module_function(rb_mMath, “tanh”, math_tanh, 1);

    rb_define_module_function(rb_mMath, “acosh”, math_acosh, 1);
    rb_define_module_function(rb_mMath, “asinh”, math_asinh, 1);
    rb_define_module_function(rb_mMath, “atanh”, math_atanh, 1);

  • rb_define_module_function(rb_mMath, “exp”, math_exp, 1);
  • rb_define_module_function(rb_mMath, “log”, math_log, -1);
  • rb_define_module_function(rb_mMath, “exp”, rb_math_exp, 1);
  • rb_define_module_function(rb_mMath, “log”, rb_math_log, -1);
    rb_define_module_function(rb_mMath, “log2”, math_log2, 1);
    rb_define_module_function(rb_mMath, “log10”, math_log10, 1);
  • rb_define_module_function(rb_mMath, “sqrt”, math_sqrt, 1);
  • rb_define_module_function(rb_mMath, “sqrt”, rb_math_sqrt, 1);
    rb_define_module_function(rb_mMath, “cbrt”, math_cbrt, 1);

    rb_define_module_function(rb_mMath, “frexp”, math_frexp, 1);
    rb_define_module_function(rb_mMath, “ldexp”, math_ldexp, 2);

  • rb_define_module_function(rb_mMath, “hypot”, math_hypot, 2);
  • rb_define_module_function(rb_mMath, “hypot”, rb_math_hypot, 2);

    rb_define_module_function(rb_mMath, “erf”, math_erf, 1);
    rb_define_module_function(rb_mMath, “erfc”, math_erfc, 1);

e$B!<!<e(B
e$B:XF#$?$@$7e(B

complex.ce$B$G;H$&$?$a$K!"$$$/$D$+?t3X4X?t$+$ie(Bstatice$B$,$H$l$?$h$&$G$9$,!"e(B
e$B30It$K=P$9$J$i$Pe(B rb_ e$B@\F,<-$rIU$1$F$[$7$$$G$9!#e(B

e$B$3$l$O$3$&$7$?$[$&$,$$$$$s$G$7$g$&$+!#e(Brb_
e$B$r$D$1$k$N$O!"0UL#$,JQ$k$h$&e(B
e$B$J46$8$G$=$N$^$^$K$7$F$$$?$@$1$G$9$,!“JQ99$9$k>l9g$O!”:#30It$K8+$($F$ke(B
e$BJ,$@$1$G$$$$$G$9$+!#$=$l$H$b!"A4Ite(B rb_
e$B$r$D$1$F30It$K$5$i$7$?$[$&$,$$$$e(B
e$B$G$9$+!#e(B

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

On Sun, 26 Oct 2008 01:19:01 +0900
Tadayoshi F. [email protected] wrote:

complex.ce$B$G;H$&$?$a$K!"$$$/$D$+?t3X4X?t$+$ie(Bstatice$B$,$H$l$?$h$&$G$9$,!"e(B
e$B30It$K=P$9$J$i$Pe(B rb_ e$B@\F,<-$rIU$1$F$[$7$$$G$9!#e(B

e$B$3$l$O$3$&$7$?$[$&$,$$$$$s$G$7$g$&$+!#e(Brb_ e$B$r$D$1$k$N$O!"0UL#$,JQ$k$h$&e(B
e$B$J46$8$G$=$N$^$^$K$7$F$$$?$@$1$G$9$,!“JQ99$9$k>l9g$O!”:#30It$K8+$($F$ke(B
e$BJ,$@$1$G$$$$$G$9$+!#$=$l$H$b!"A4Ite(B rb_ e$B$r$D$1$F30It$K$5$i$7$?$[$&$,$$$$e(B
e$B$G$9$+!#e(B

e$B$H$j$“$($:!”:#30It$K8+$($F$$$kJ,$@$1$G==J,$G$O$J$$$G$7$g$&$+!#e(B
e$BB>$N4X?t$b!"30It$+$i8+$($k$h$&$K$9$k$H$-$K$Oe(Brb_e$B$J$I$r$D$1$k$N$,47=,$@$H;W$$$^$9!#e(B

rb_e$B$O!“L>A0$N>WFM$r2sHr$9$k$?$a$N$”$k<o$N%Q%C%1!<%8L>$G$"$k$H$$$&G’<1$G5o$^$9e(B

e$B$7$+$7;~4|$,$"$l$J$N$G!"e(BYuguie$B$5$s$K5v2D$r6D$.$?$$$G$9!#e(B

math_e$B$H$$$&G!2?$K$b$“$j$=$&$J$,<1JL;R$,@hF,$K$”$k>uBV$G8GDj$5$l$F$7$^$&$N$Oe(B
e$B8D?ME*$K$Oe(B(e$B$-$C$HB>$Ne(BAPIe$BMxMQ<T$be(B)e$B$"$^$j$&$l$7$/$J$$$G$9$7!“B>$N4X?t$K9g$o$;$ke(B
e$B0UL#$G$b!”$$$+$,$G$7$g$&$+!#e(B

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

In message “Re: [ruby-dev:36962] Re: prefix math_* funcs”
on Tue, 28 Oct 2008 03:17:46 +0900, Tadayoshi F.
[email protected] writes:

|> math_e$B$H$$$&G!2?$K$b$“$j$=$&$J$,<1JL;R$,@hF,$K$”$k>uBV$G8GDj$5$l$F$7$^$&$N$Oe(B
|> e$B8D?ME*$K$Oe(B(e$B$-$C$HB>$Ne(BAPIe$BMxMQ<T$be(B)e$B$“$^$j$&$l$7$/$J$$$G$9$7!“B>$N4X?t$K9g$o$;$ke(B
|> e$B0UL#$G$b!”$$$+$,$G$7$g$&$+!#e(B
|
|e$B$=$N$”$?$j4pK\E*$K$O;?@.$G$9!#e(B
|
|e$B$?$@!"e(Bruby e$B<+BN$b4^$a$FA4BN$H$7$F4K$$0u>]$G$9$M!#%/%i%9%a%=%C%I$d%$%s%9e(B
|e$B%?%s%9%a%=%C%I6&DL$G$D$+$&%3!<%I!"Dj?t!“30It$+$i$D$+$C$F$b$i$&$D$b$j$Ge(B
|e$B$J$/$F$b!“30$+$i$_$($l$P!”$=$l$O8x3+%a%=%C%I$J$N$@!”$H$$$&9M$($,CJ!96/e(B
|e$B$/$J$C$F$-$F$$$k$h$&$K46$8$^$9$,!“e(Bruby e$B$O$=$&$$$&;v$K1~$($i$l$k$h$&$J;Ee(B
|e$BAH$K$J$C$F$J$$$H;W$$$^$9!#$=$&$$$&$3$H$O$”$^$j0U<1$5$l$F$$$J$$$N$G$7$ge(B
|e$B$&!#e(B

e$B0u>]$K%D%C%3$`$N$b$I$&$+$H;W$o$J$$$G$b$J$$$G$9$,!“$b$&$A$g$Ce(B
e$B$H65$($F$$$?$@$1$k$H;29M$K$J$j$^$9!#0JA0$O%a%=%C%I$rDj5A$9$ke(B
e$B$J$I$”$+$i$5$^$Ke(BAPIe$B$H$J$k4X?t0J30$K$Oe(Brb_e$B$J$I$Ne(Bprefixe$B$r$D$1$Fe(B
e$B$$$J$+$C$?$H$$$&$N$O$“$j$^$9$,!”:#$O$=$&$$$&$N$Oe(B(e$B$"$^$je(B)e$B;D$Ce(B
e$B$F$$$J$$$N$G$O$J$$$+$H;W$$$^$9!#e(B

e$B$3$3$G!V4K$$0u>]!W$H$+!Ve(Bruby
e$B$O$=$&$$$&;v$K1~$($i$l$k$h$&$J;Ee(B
e$BAH$K$J$C$F$J$$!W$H$$$&$N$O!“$I$&$$$&E@$r$5$7$F$*$i$l$k$N$G$7$ge(B
e$B$&$+!#A0<T$Oe(Brb_e$B$He(Bruby_e$B$N;H$$J,$1$,87L)$K7h$^$C$F$J$$$3$H$+$Je(B
e$B$”$H$b;W$($^$9$,!#e(B

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

e$B$H$j$"$($:!":#30It$K8+$($F$$$kJ,$@$1$G==J,$G$O$J$$$G$7$g$&$+!#e(B
`>
e$BB>$N4X?t$b!"30It$+$i8+$($k$h$&$K$9$k$H$-$K$Oe(Brb_e$B$J$I$r$D$1$k$N$,47=,$@$H;W$$$^$9!#e(B

bignum.c e$B$J$I$O!“e(Bstatic e$B$G$be(B rb_
e$B$,$D$$$F$k$b$N$b$”$j$^$9$7!"KM$K$O$h$/e(B
e$B$o$+$i$J$$$G$9$M$(!#e(B

e$B$7$+$7;~4|$,$"$l$J$N$G!"e(BYuguie$B$5$s$K5v2D$r6D$.$?$$$G$9!#e(B

e$B$?$V$s:#2s$N$K$OH?1G$5$l$J$$$s$8$c$J$$$H;W$$$^$9$,!"I,MW$@$C$?$iC/$+D>e(B
e$B$7$F$*$$$F$b$i$($l$P$H;W$$$^$9!#e(B

math_e$B$H$$$&G!2?$K$b$"$j$=$&$J$,<1JL;R$,@hF,$K$"$k>uBV$G8GDj$5$l$F$7$^$&$N$Oe(B
e$B8D?ME*$K$Oe(B(e$B$-$C$HB>$Ne(BAPIe$BMxMQ<T$be(B)e$B$"$^$j$&$l$7$/$J$$$G$9$7!“B>$N4X?t$K9g$o$;$ke(B
e$B0UL#$G$b!”$$$+$,$G$7$g$&$+!#e(B

e$B$=$N$"$?$j4pK\E*$K$O;?@.$G$9!#e(B

e$B$?$@!"e(Bruby
e$B<+BN$b4^$a$FA4BN$H$7$F4K$$0u>]$G$9$M!#%/%i%9%a%=%C%I$d%$%s%9e(B
e$B%?%s%9%a%=%C%I6&DL$G$D$+$&%3!<%I!"Dj?t!“30It$+$i$D$+$C$F$b$i$&$D$b$j$Ge(B
e$B$J$/$F$b!“30$+$i$_$($l$P!”$=$l$O8x3+%a%=%C%I$J$N$@!”$H$$$&9M$($,CJ!96/e(B
e$B$/$J$C$F$-$F$$$k$h$&$K46$8$^$9$,!“e(Bruby
e$B$O$=$&$$$&;v$K1~$($i$l$k$h$&$J;Ee(B
e$BAH$K$J$C$F$J$$$H;W$$$^$9!#$=$&$$$&$3$H$O$”$^$j0U<1$5$l$F$$$J$$$N$G$7$ge(B
e$B$&!#e(B

e$B0u>]$K%D%C%3$`$N$b$I$&$+$H;W$o$J$$$G$b$J$$$G$9$,!"$b$&$A$g$Ce(B
e$B$H65$($F$$$?$@$1$k$H;29M$K$J$j$^$9!#0JA0$O%a%=%C%I$rDj5A$9$ke(B
e$B$J$I$"$+$i$5$^$Ke(BAPIe$B$H$J$k4X?t0J30$K$Oe(Brb_e$B$J$I$Ne(Bprefixe$B$r$D$1$Fe(B
e$B$$$J$+$C$?$H$$$&$N$O$"$j$^$9$,!":#$O$=$&$$$&$N$Oe(B(e$B$"$^$je(B)e$B;D$Ce(B
e$B$F$$$J$$$N$G$O$J$$$+$H;W$$$^$9!#e(B

e$B@h$K8@$C$?$h$&$K$=$N$"$?$j$h$/$o$+$i$J$$$N$G$9!#e(Brb_
e$B$,$"$k$+$i30It8~$1e(B
e$B$H$$$&$o$1$G$b$J$$$h$&$G$9$7!#e(B

e$B$3$3$G!V4K$$0u>]!W$H$+!Ve(Bruby e$B$O$=$&$$$&;v$K1~$($i$l$k$h$&$J;Ee(B
e$BAH$K$J$C$F$J$$!W$H$$$&$N$O!"$I$&$$$&E@$r$5$7$F$*$i$l$k$N$G$7$ge(B
e$B$&$+!#A0<T$Oe(Brb_e$B$He(Bruby_e$B$N;H$$J,$1$,87L)$K7h$^$C$F$J$$$3$H$+$Je(B
e$B$"$H$b;W$($^$9$,!#e(B

e$B$?$H$($P!“e(BComplex.generic?
e$B$N$h$&$J$b$N$G$9!#$3$l$OMxMQ<T$K$D$+$C$F$b$ie(B
e$B$&$?$a$N$b$N$G$O$J$$$N$G$9$,!“8x3+$5$l$F$$$^$9!#$-$C$A$j$D$+$$$o$1$k$3e(B
e$B$H$b$G$-$k$G$7$g$&$,!”$=$&$$$&$3$H$rG0F,$KCV$$$F$O$$$J$$$h$&$K8+$($^$9!#e(B
e$B$=$&$$$&$3$H$K$”$^$j5$$K$7$J$$J82=$J$N$8$c$J$$$+$H;W$C$?$o$1$G$9!#e(B

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

In message “Re: [ruby-dev:36964] Re: prefix math_* funcs”
on Tue, 28 Oct 2008 08:14:22 +0900, Tadayoshi F.
[email protected] writes:

|> e$B0u>]$K%D%C%3$`$N$b$I$&$+$H;W$o$J$$$G$b$J$$$G$9$,!“$b$&$A$g$Ce(B
|> e$B$H65$($F$$$?$@$1$k$H;29M$K$J$j$^$9!#0JA0$O%a%=%C%I$rDj5A$9$ke(B
|> e$B$J$I$”$+$i$5$^$Ke(BAPIe$B$H$J$k4X?t0J30$K$Oe(Brb_e$B$J$I$Ne(Bprefixe$B$r$D$1$Fe(B
|> e$B$$$J$+$C$?$H$$$&$N$O$“$j$^$9$,!”:#$O$=$&$$$&$N$Oe(B(e$B$“$^$je(B)e$B;D$Ce(B
|> e$B$F$$$J$$$N$G$O$J$$$+$H;W$$$^$9!#e(B
|
|e$B@h$K8@$C$?$h$&$K$=$N$”$?$j$h$/$o$+$i$J$$$N$G$9!#e(Brb_ e$B$,$"$k$+$i30It8~$1e(B
|e$B$H$$$&$o$1$G$b$J$$$h$&$G$9$7!#e(B

e$B$H$$$&$+!"8=:_$NJ}?K$Oe(B

  • e$B%7%s%%k$,30It$+$i8+$($k;~$K$Oe(Brb_e$B$r$D$1$ke(B
  • e$B%7%s%%k$,>-Mh30It$+$i8+$($k$h$&$K$J$k$+$b$7$l$J$$;~$K$Oe(B
    rb_e$B$r$D$1$ke(B

e$B$H$$$&46$8$G$9!#!V30It$+$i8+$($ke(B(external)e$B!W$H!V30It8~$1!W$Oe(B
e$B$A$g$C$H%K%e%“%s%9$,0c$&$G$7$g$&$M!#A0<T$K$O$”$^$j0U;W$,F~$Ce(B
e$B$F$J$$$H8@$&$+!#e(B

|> e$B$3$3$G!V4K$$0u>]!W$H$+!Ve(Bruby e$B$O$=$&$$$&;v$K1~$($i$l$k$h$&$J;Ee(B
|> e$BAH$K$J$C$F$J$$!W$H$$$&$N$O!“$I$&$$$&E@$r$5$7$F$*$i$l$k$N$G$7$ge(B
|> e$B$&$+!#A0<T$Oe(Brb_e$B$He(Bruby_e$B$N;H$$J,$1$,87L)$K7h$^$C$F$J$$$3$H$+$Je(B
|> e$B$”$H$b;W$($^$9$,!#e(B
|
|e$B$?$H$($P!“e(BComplex.generic? e$B$N$h$&$J$b$N$G$9!#$3$l$OMxMQ<T$K$D$+$C$F$b$ie(B
|e$B$&$?$a$N$b$N$G$O$J$$$N$G$9$,!“8x3+$5$l$F$$$^$9!#$-$C$A$j$D$+$$$o$1$k$3e(B
|e$B$H$b$G$-$k$G$7$g$&$,!”$=$&$$$&$3$H$rG0F,$KCV$$$F$O$$$J$$$h$&$K8+$($^$9!#e(B
|e$B$=$&$$$&$3$H$K$”$^$j5$$K$7$J$$J82=$J$N$8$c$J$$$+$H;W$C$?$o$1$G$9!#e(B

e$B$&!<$s!“%i%$%V%i%j$NOC$+$!!#$^$”!“$”$s$^$j87L)$K30ItFbIt$H7he(B
e$B$a$kJ82=$G$O$J$$$N$+$b$7$l$^$;$s$,!#e(B

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

e$B$J$+$@$G$9!#e(B

At Tue, 28 Oct 2008 08:36:25 +0900,
Yukihiro M. wrote in [ruby-dev:36965]:

e$B$H$$$&$+!"8=:_$NJ}?K$Oe(B

  • e$B%7%s%%k$,30It$+$i8+$($k;~$K$Oe(Brb_e$B$r$D$1$ke(B
  • e$B%7%s%%k$,>-Mh30It$+$i8+$($k$h$&$K$J$k$+$b$7$l$J$$;~$K$Oe(B
    rb_e$B$r$D$1$ke(B

e$B%W%i%C%H%U%)!<%`$,;}$C$F$$$kL>A0$He(B(statice$B$G$be(B)e$B>WFM$7$?$N$G$7$ge(B
e$B$&$,$J$$$N$Ge(Brb_e$B$r$D$1$?e(B