[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]