* math.c (math_erf,math_erfc): new function. [ruby-list:37753]
* eval.c (ruby_finalize): no longer need to turn off $DEBUG in the finalizer. (ruby-bugs-ja PR#473) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
bd368e9749
commit
c004ecfa1e
@ -1,3 +1,7 @@
|
|||||||
|
Thu Jun 5 15:09:06 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* math.c (math_erf,math_erfc): new function. [ruby-list:37753]
|
||||||
|
|
||||||
Thu Jun 5 05:49:43 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
|
Thu Jun 5 05:49:43 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
|
||||||
|
|
||||||
* ext/syck/rubyext.c: using GC nodes caused segfault. [ruby-core:1071]
|
* ext/syck/rubyext.c: using GC nodes caused segfault. [ruby-core:1071]
|
||||||
@ -11,6 +15,11 @@ Thu Jun 5 04:48:57 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
|
|||||||
* ext/syck/handler.c, ext/syck/syck.c: ensure a fresh strtable between
|
* ext/syck/handler.c, ext/syck/syck.c: ensure a fresh strtable between
|
||||||
parser iterations.
|
parser iterations.
|
||||||
|
|
||||||
|
Wed Jun 4 12:06:59 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* eval.c (ruby_finalize): no longer need to turn off $DEBUG in the
|
||||||
|
finalizer. (ruby-bugs-ja PR#473)
|
||||||
|
|
||||||
Tue Jun 3 22:20:49 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
Tue Jun 3 22:20:49 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
* eval.c (rb_call_super): should search superclass method based on
|
* eval.c (rb_call_super): should search superclass method based on
|
||||||
|
1
LEGAL
1
LEGAL
@ -134,6 +134,7 @@ st.[ch]:
|
|||||||
x68/*:
|
x68/*:
|
||||||
missing/alloca.c:
|
missing/alloca.c:
|
||||||
missing/dup2.c:
|
missing/dup2.c:
|
||||||
|
missing/erf.c:
|
||||||
missing/finite.c:
|
missing/finite.c:
|
||||||
missing/hypot.c:
|
missing/hypot.c:
|
||||||
missing/isinf.c:
|
missing/isinf.c:
|
||||||
|
1
MANIFEST
1
MANIFEST
@ -262,6 +262,7 @@ missing/acosh.c
|
|||||||
missing/alloca.c
|
missing/alloca.c
|
||||||
missing/crypt.c
|
missing/crypt.c
|
||||||
missing/dup2.c
|
missing/dup2.c
|
||||||
|
missing/erf.c
|
||||||
missing/file.h
|
missing/file.h
|
||||||
missing/fileblocks.c
|
missing/fileblocks.c
|
||||||
missing/finite.c
|
missing/finite.c
|
||||||
|
@ -371,7 +371,7 @@ AC_FUNC_FSEEKO
|
|||||||
AC_CHECK_FUNCS(ftello)
|
AC_CHECK_FUNCS(ftello)
|
||||||
AC_REPLACE_FUNCS(dup2 memmove mkdir strcasecmp strncasecmp strerror strftime\
|
AC_REPLACE_FUNCS(dup2 memmove mkdir strcasecmp strncasecmp strerror strftime\
|
||||||
strchr strstr strtoul crypt flock vsnprintf\
|
strchr strstr strtoul crypt flock vsnprintf\
|
||||||
isinf isnan finite hypot acosh)
|
isinf isnan finite hypot acosh erf)
|
||||||
AC_CHECK_FUNCS(fmod killpg wait4 waitpid syscall chroot fsync\
|
AC_CHECK_FUNCS(fmod killpg wait4 waitpid syscall chroot fsync\
|
||||||
truncate chsize times utimes fcntl lockf lstat symlink readlink\
|
truncate chsize times utimes fcntl lockf lstat symlink readlink\
|
||||||
setitimer setruid seteuid setreuid setresuid setproctitle\
|
setitimer setruid seteuid setreuid setresuid setproctitle\
|
||||||
|
1
eval.c
1
eval.c
@ -1313,7 +1313,6 @@ ruby_finalize()
|
|||||||
{
|
{
|
||||||
int state;
|
int state;
|
||||||
|
|
||||||
ruby_debug = Qfalse;
|
|
||||||
PUSH_TAG(PROT_NONE);
|
PUSH_TAG(PROT_NONE);
|
||||||
if ((state = EXEC_TAG()) == 0) {
|
if ((state = EXEC_TAG()) == 0) {
|
||||||
rb_trap_exit();
|
rb_trap_exit();
|
||||||
|
19
math.c
19
math.c
@ -271,6 +271,22 @@ math_hypot(obj, x, y)
|
|||||||
return rb_float_new(hypot(RFLOAT(x)->value, RFLOAT(y)->value));
|
return rb_float_new(hypot(RFLOAT(x)->value, RFLOAT(y)->value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VALUE
|
||||||
|
math_erf(obj, x)
|
||||||
|
VALUE obj, x;
|
||||||
|
{
|
||||||
|
Need_Float(x);
|
||||||
|
return rb_float_new(erf(RFLOAT(x)->value));
|
||||||
|
}
|
||||||
|
|
||||||
|
static VALUE
|
||||||
|
math_erfc(obj, x)
|
||||||
|
VALUE obj, x;
|
||||||
|
{
|
||||||
|
Need_Float(x);
|
||||||
|
return rb_float_new(erfc(RFLOAT(x)->value));
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Init_Math()
|
Init_Math()
|
||||||
{
|
{
|
||||||
@ -314,4 +330,7 @@ Init_Math()
|
|||||||
rb_define_module_function(rb_mMath, "ldexp", math_ldexp, 2);
|
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", math_hypot, 2);
|
||||||
|
|
||||||
|
rb_define_module_function(rb_mMath, "erf", math_erf, 1);
|
||||||
|
rb_define_module_function(rb_mMath, "erfc", math_erfc, 1);
|
||||||
}
|
}
|
||||||
|
@ -54,6 +54,11 @@ extern double frexp _((double, int *));
|
|||||||
extern double hypot _((double, double));
|
extern double hypot _((double, double));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_ERF
|
||||||
|
extern double erf _((double, double));
|
||||||
|
extern double erfc _((double, double));
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef HAVE_ISINF
|
#ifndef HAVE_ISINF
|
||||||
extern int isinf _((double));
|
extern int isinf _((double));
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user