diff options
| author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-29 16:11:12 +0000 |
|---|---|---|
| committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-10-29 16:11:12 +0000 |
| commit | bb51917dcee8660eebc6c157355d261f59e695e3 (patch) | |
| tree | 08b2b31562a223a6e5d72a5d2ce2db0bb6c2a818 | |
| parent | 85ebe116040992b1775a7b13682b723775231de1 (diff) | |
merged 20011 from trunk into ruby_1_9_1.
* complex.c: uses macro in declarations.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@20033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | complex.c | 44 | ||||
| -rw-r--r-- | win32/win32.c | 4 |
3 files changed, 34 insertions, 18 deletions
@@ -25,6 +25,10 @@ Wed Oct 29 11:01:46 2008 NAKAMURA Usaku <usa@ruby-lang.org> * win32/win32.c (rb_w32_write): write to the end of the file when FAPPEND is specified. +Wed Oct 29 00:43:39 2008 Tadayoshi Funaba <tadf@dotrb.org> + + * complex.c: uses macro in declarations. + Wed Oct 29 00:29:46 2008 NAKAMURA Usaku <usa@ruby-lang.org> * win32/win32.c (rb_w32_open): need to seek to the end of the file when @@ -426,21 +426,31 @@ nucomp_f_complex(int argc, VALUE *argv, VALUE klass) 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); -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 imp1(n) \ +extern VALUE rb_math_##n(VALUE x);\ +inline static VALUE \ +m_##n##_bang(x)\ +{\ + return rb_math_##n(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) +#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); static VALUE m_log_bang(VALUE x) @@ -448,9 +458,9 @@ 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) diff --git a/win32/win32.c b/win32/win32.c index 50fd55d076..ded5f2843d 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -4129,8 +4129,10 @@ rb_w32_open(const char *file, int oflag, ...) fd = -1; goto quit; } - if (!(flags & (FDEV | FPIPE)) && (oflag & O_APPEND)) + if (!(flags & (FDEV | FPIPE)) && (oflag & O_APPEND)) { flags |= FAPPEND; + SetFilePointer(h, 0, NULL, FILE_END); + } _set_osfhnd(fd, (long)h); _osfile(fd) = flags | FOPEN; |
