ruby-changes:8478
From: tadf <ko1@a...>
Date: Wed, 29 Oct 2008 00:45:52 +0900 (JST)
Subject: [ruby-changes:8478] Ruby:r20011 (trunk): * complex.c: uses macro in declarations.
tadf 2008-10-29 00:45:29 +0900 (Wed, 29 Oct 2008) New Revision: 20011 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20011 Log: * complex.c: uses macro in declarations. Modified files: trunk/ChangeLog trunk/complex.c Index: complex.c =================================================================== --- complex.c (revision 20010) +++ complex.c (revision 20011) @@ -426,31 +426,41 @@ return rb_funcall2(rb_cComplex, id_convert, argc, argv); } -extern VALUE rb_math_atan2(VALUE x, VALUE y); -extern VALUE rb_math_cos(VALUE x); -extern VALUE rb_math_cosh(VALUE x); -extern VALUE rb_math_exp(VALUE x); -extern VALUE rb_math_hypot(VALUE x, VALUE y); +#define imp1(n) \ +extern VALUE rb_math_##n(VALUE x);\ +inline static VALUE \ +m_##n##_bang(x)\ +{\ + return rb_math_##n(x);\ +} + +#define imp2(n) \ +extern VALUE rb_math_##n(VALUE x, VALUE y);\ +inline static VALUE \ +m_##n##_bang(x, y)\ +{\ + return rb_math_##n(x, y);\ +} + +imp2(atan2) +imp1(cos) +imp1(cosh) +imp1(exp) +imp2(hypot) + +#define m_hypot(x,y) m_hypot_bang(x,y) + extern VALUE rb_math_log(int argc, VALUE *argv); -extern VALUE rb_math_sin(VALUE x); -extern VALUE rb_math_sinh(VALUE x); -extern VALUE rb_math_sqrt(VALUE x); -#define m_atan2_bang(x,y) rb_math_atan2(x,y) -#define m_cos_bang(x) rb_math_cos(x) -#define m_cosh_bang(x) rb_math_cosh(x) -#define m_exp_bang(x) rb_math_exp(x) -#define m_hypot(x,y) rb_math_hypot(x,y) - static VALUE m_log_bang(VALUE x) { return rb_math_log(1, &x); } -#define m_sin_bang(x) rb_math_sin(x) -#define m_sinh_bang(x) rb_math_sinh(x) -#define m_sqrt_bang(x) rb_math_sqrt(x) +imp1(sin) +imp1(sinh) +imp1(sqrt) static VALUE m_cos(VALUE x) Index: ChangeLog =================================================================== --- ChangeLog (revision 20010) +++ ChangeLog (revision 20011) @@ -1,3 +1,7 @@ +Wed Oct 29 00:43:39 2008 Tadayoshi Funaba <tadf@d...> + + * complex.c: uses macro in declarations. + Wed Oct 29 00:26:00 2008 NAKAMURA Usaku <usa@r...> * win32/win32.c (rb_w32_open): need to seek to the end of the file when -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/