ruby-changes:14996
From: nobu <ko1@a...>
Date: Thu, 11 Mar 2010 12:14:38 +0900 (JST)
Subject: [ruby-changes:14996] Ruby:r26871 (trunk): * missing/signbit.c: added.
nobu 2010-03-11 12:14:21 +0900 (Thu, 11 Mar 2010) New Revision: 26871 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26871 Log: * missing/signbit.c: added. Added files: trunk/missing/signbit.c Modified files: trunk/ChangeLog trunk/configure.in Index: configure.in =================================================================== --- configure.in (revision 26870) +++ configure.in (revision 26871) @@ -1114,7 +1114,7 @@ AS_CASE(["$target_os"],[mingw*],[],[AC_REPLACE_FUNCS(vsnprintf)]) AC_REPLACE_FUNCS(dup2 memmove strerror\ strchr strstr crypt flock\ - isnan finite isinf hypot acosh erf tgamma lgamma_r cbrt \ + isnan finite isinf hypot acosh erf tgamma lgamma_r cbrt signbit \ strlcpy strlcat) AC_CHECK_FUNCS(fmod killpg wait4 waitpid fork spawnv syscall chroot getcwd eaccess\ truncate ftruncate chsize times utimes utimensat fcntl lockf lstat\ @@ -1124,7 +1124,7 @@ getpgrp setpgrp getpgid setpgid initgroups getgroups setgroups\ getpriority getrlimit setrlimit sysconf \ dlopen sigprocmask sigaction sigsetjmp _setjmp _longjmp snprintf\ - setsid telldir seekdir fchmod cosh sinh tanh log2 round signbit\ + setsid telldir seekdir fchmod cosh sinh tanh log2 round\ setuid setgid daemon select_large_fdset setenv unsetenv\ mktime timegm gmtime_r clock_gettime gettimeofday\ pread sendfile shutdown sigaltstack) Index: ChangeLog =================================================================== --- ChangeLog (revision 26870) +++ ChangeLog (revision 26871) @@ -1,3 +1,7 @@ +Thu Mar 11 12:14:17 2010 Nobuyoshi Nakada <nobu@r...> + + * missing/signbit.c: added. + Thu Mar 11 11:16:33 2010 Nobuyoshi Nakada <nobu@r...> * configure.in: check if target_archs has changed. Index: missing/signbit.c =================================================================== --- missing/signbit.c (revision 0) +++ missing/signbit.c (revision 26871) @@ -0,0 +1,19 @@ +#include <limits.h> +#include "ruby.h" + +int +signbit(double x) +{ + enum {double_per_long = sizeof(double) / sizeof(long)}; + enum {long_msb = sizeof(long) * CHAR_BIT - 1}; + union {double d; unsigned long i[double_per_long];} u; + unsigned long l; + + u.d = x; +#ifdef WORDS_BIGENDIAN + l = u.i[0]; +#else + l = u.i[double_per_long - 1]; +#endif + return (int)(l >> long_msb); +} Property changes on: missing/signbit.c ___________________________________________________________________ Name: svn:eol-style + LF -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/