modules/math


Log

Author Commit Date CI Message
Eric Blake d756f409 2010-04-29T13:40:19 headers: relax license to LGPLv2+ The replacement headers deserve relaxed licenses, even if the functions they declare cannot be accessed without a tighter license. See the list archives for consensus on this action. * modules/fcntl-h (License): Relax license. * modules/getopt-posix (License): Likewise. * modules/locale (License): Likewise. * modules/math (License): Likewise. * modules/pty (License): Likewise. * modules/sched (License): Likewise. * modules/search (License): Likewise. * modules/spawn (License): Likewise. * modules/stdarg (License): Likewise. * modules/sysexits (License): Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Bruno Haible de6abddc 2010-04-04T19:59:32 math: Fix some C++ test errors on Cygwin.
Bruno Haible b2edc991 2010-03-08T01:10:14 math: Avoid #define replacements in C++ mode.
Bruno Haible 10d66aed 2010-03-08T00:04:47 logb: Provide missing declaration for Cygwin.
Eric Blake cbd5934b 2009-12-16T16:20:28 warn-on-use: use instead of link-warning Each *.in.h file serves two purposes - provide enough self-contained content to serve as a replacement for the system header regardless of the user's compiler, and offer the developer the ability to detect any gnulib modules that might have been inadvertantly excluded. The former requires independence from config.h, and routes everything through a Makefile.am snippet that uses @@ substitution specific to the modules that were in use, with details learned at configure time. The latter works by poisoning anything that gnulib did not replace, but which the developer had natively available, explaining why their tests passed during development. Poisoning relies on gcc features, and requires manual triggering by adding -DGNULIB_POSIXCHECK to CFLAGS; it assumes that <config.h> is properly included. In fact, we do not want to use @@ substitution for HAVE_DECL_* during poisoning, because the warning is only relevant for the gnulib modules which were not included, and thus where the m4 macros to set proper @@ values have not been run. Furthermore, we only need to poison interfaces that already have a declaration; if something is not declared, then the developer wouldn't have been able to link, so their code won't be using the problematic interface in the first place. * modules/stdio (Depends-on, Makefile.am): Drop link-warning. * modules/unistd (Depends-on, Makefile.am): Likewise. * modules/arpa_inet (Depends-on): Replace link-warning with warn-on-use. (Makefile.am): Update rules accordingly. * modules/ctype (Depends-on, Makefile.am): Likewise. * modules/dirent (Depends-on, Makefile.am): Likewise. * modules/fcntl-h (Depends-on, Makefile.am): Likewise. * modules/inttypes (Depends-on, Makefile.am): Likewise. * modules/langinfo (Depends-on, Makefile.am): Likewise. * modules/locale (Depends-on, Makefile.am): Likewise. * modules/math (Depends-on, Makefile.am): Likewise. * modules/search (Depends-on, Makefile.am): Likewise. * modules/signal (Depends-on, Makefile.am): Likewise. * modules/spawn (Depends-on, Makefile.am): Likewise. * modules/stdlib (Depends-on, Makefile.am): Likewise. * modules/string (Depends-on, Makefile.am): Likewise. * modules/strings (Depends-on, Makefile.am): Likewise. * modules/sys_file (Depends-on, Makefile.am): Likewise. * modules/sys_ioctl (Depends-on, Makefile.am): Likewise. * modules/sys_select (Depends-on, Makefile.am): Likewise. * modules/sys_socket (Depends-on, Makefile.am): Likewise. * modules/sys_stat (Depends-on, Makefile.am): Likewise. * modules/sys_times (Depends-on, Makefile.am): Likewise. * modules/sys_utsname (Depends-on, Makefile.am): Likewise. * modules/wchar (Depends-on, Makefile.am): Likewise. * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions should be poisoned. * m4/ctype.m4 (gl_CTYPE_H): Likewise. * m4/dirent_h.m4 (gl_DIRENT_H): Likewise. * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise. * m4/inttypes.m4 (gl_INTTYPES_H): Likewise. * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise. * m4/locale_h.m4 (gl_LOCALE_H): Likewise. * m4/math_h.m4 (gl_MATH_H): Likewise. * m4/search_h.m4 (gl_SEARCH_H): Likewise. * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. * m4/stdio_h.m4 (gl_STDIO_H): Likewise. * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise. * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise. * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise. * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise. * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise. * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise. * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise. * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise. * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. * m4/wchar.m4 (gl_WCHAR_H): Likewise. * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of GL_LINK_WARNING. * lib/ctype.in.h: Likewise. * lib/dirent.in.h: Likewise. * lib/fcntl.in.h: Likewise. * lib/inttypes.in.h: Likewise. * lib/langinfo.in.h: Likewise. * lib/locale.in.h: Likewise. * lib/math.in.h: Likewise. * lib/search.in.h: Likewise. * lib/signal.in.h: Likewise. * lib/spawn.in.h: Likewise. * lib/stdio.in.h: Likewise. * lib/stdlib.in.h: Likewise. * lib/string.in.h: Likewise. * lib/strings.in.h: Likewise. * lib/sys_file.in.h: Likewise. * lib/sys_ioctl.in.h: Likewise. * lib/sys_select.in.h: Likewise. * lib/sys_socket.in.h: Likewise. * lib/sys_stat.in.h: Likewise. * lib/sys_times.in.h: Likewise. * lib/sys_utsname.in.h: Likewise. * lib/unistd.in.h: Likewise. * lib/wchar.in.h: Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible 73e329f1 2010-01-18T01:27:33 New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Eric Blake 428092c7 2009-12-31T13:48:15 math: add portability warnings for classification macros For interfaces which are defined to exist only as macros, implement the proper magic needed to warn if the corresponding gnulib module was not in use. This solution avoids promoting arguments unnecessarily, to allow reuse in case gnulib ever implements fpclassify, since fpclassify(1e-40f) is different than fpclassify(1e-40). * modules/math (Depends-on): Add warn-on-use. (Makefile.am): Provide new substitutions. * m4/math_h.m4 (gl_MATH_H): Require inline. * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL) (_GL_WARN_REAL_FLOATING_IMPL): New helper macros. (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to implement warnings. Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible 69482508 2009-12-11T01:15:28 New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
Bruno Haible 237d7dcd 2009-12-09T12:41:19 link-warning: Add copyright notice.
Jim Meyering 47a8dd64 2009-08-22T11:28:08 annotate automake snippets with $(AM_V_GEN) and $(AM_V_at) This makes it so packages using automake-1.11's silent-rules option can print e.g., a single "GEN configmake.h" line, rather than the 30+ statements that perform the job. If you want to see the actual commands, you can still run "make V=1". Improved-by: Bruno Haible <bruno@clisp.org> * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes so that make output is abbreviated when those variables are defined appropriately. * modules/argz: Likewise. * modules/arpa_inet: Likewise. * modules/byteswap: Likewise. * modules/configmake: Likewise. * modules/dirent: Likewise. * modules/errno: Likewise. * modules/fcntl: Likewise. * modules/float: Likewise. * modules/fnmatch: Likewise. * modules/getopt-posix: Likewise. * modules/glob: Likewise. * modules/iconv_open: Likewise. * modules/inttypes: Likewise. * modules/localcharset: Likewise. * modules/locale: Likewise. * modules/math: Likewise. * modules/netdb: Likewise. * modules/netinet_in: Likewise. * modules/poll: Likewise. * modules/posix_spawnp-tests: Likewise. * modules/sched: Likewise. * modules/search: Likewise. * modules/selinux-h: Likewise. * modules/signal: Likewise. * modules/spawn: Likewise. * modules/stdarg: Likewise. * modules/stdbool: Likewise. * modules/stddef: Likewise. * modules/stdint: Likewise. * modules/stdio: Likewise. * modules/stdlib: Likewise. * modules/string: Likewise. * modules/strings: Likewise. * modules/sys_file: Likewise. * modules/sys_ioctl: Likewise. * modules/sys_select: Likewise. * modules/sys_socket: Likewise. * modules/sys_stat: Likewise. * modules/sys_time: Likewise. * modules/sys_times: Likewise. * modules/sys_utsname: Likewise. * modules/sys_wait: Likewise. * modules/sysexits: Likewise. * modules/time: Likewise. * modules/unistd: Likewise. * modules/wchar: Likewise. * modules/wctype: Likewise.
Eric Blake 4e37b487 2009-05-21T16:48:12 Second attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
Bruno Haible 52f34918 2008-11-20T23:33:58 Attempt to work around another AIX 5.3, 6.1 compiler bug with include_next.
Bruno Haible febae7ee 2008-10-19T14:05:30 Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible c2318e88 2008-08-30T03:09:15 Avoid some "gcc -pedantic" warnings.
Ben Pfaff 2cc4af23 2008-07-23T21:48:35 Add isinf module.
Ben Pfaff 7080851f 2008-07-12T10:50:41 Add isnan module.
Bruno Haible c2a386bb 2008-04-13T20:43:12 Make truncl work on OSF/1 4.0.
Eric Blake 833333f7 2008-04-12T07:22:40 Work around Solaris 10 math.h bug. * m4/math_h.m4 (gl_MATH_H): Check for bug. (gl_MATH_H_DEFAULTS): Set up default. * modules/math (Makefile.am): Replace new indicators. * lib/math.in.h (NAN, HUGE_VAL): Provide replacements. * tests/test-math.c (main): Test this. * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL. * doc/posix-headers/math.texi (math.h): Mention bug. Reported by Nelson H. F. Beebe and Jim Meyering. Signed-off-by: Eric Blake <ebb9@byu.net>
Bruno Haible ce867563 2008-01-26T02:26:52 Exploit the __builtin_signbit GCC built-in.
Bruno Haible 21e68e54 2007-11-11T13:58:25 Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
Bruno Haible 28d9a006 2007-10-29T04:23:19 Use REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
Bruno Haible 81ba90be 2007-10-29T03:19:52 Fix link errors with Sun C 5.0 on Solaris 10.
Ben Pfaff e74e1f15 2007-10-27T22:12:07 Implement 'isfinite' module.
Ben Pfaff 980d2709 2007-10-20T13:08:26 Implement 'round', 'roundf', 'roundl' modules.
Bruno Haible d23df56e 2007-10-05T03:54:50 New module 'ceill'.
Bruno Haible b064d497 2007-10-05T03:43:42 New module 'ceilf'.
Bruno Haible 33f47a82 2007-10-05T03:33:31 New module 'floorl'.
Bruno Haible ab044c63 2007-10-05T03:02:08 New module 'floorf'.
Bruno Haible 07ee1756 2007-10-05T01:39:53 New module 'truncl'.
Bruno Haible 152e9957 2007-10-05T01:06:37 New module 'truncf'.
Bruno Haible ec0af5d5 2007-10-04T03:22:14 New module 'trunc'.
Bruno Haible 1d8fd673 2007-10-02T00:21:15 Rename math_.h to math.in.h.
Paul Eggert b6a9d33e 2007-06-21T04:39:09 * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST INCLUDE_NEXT. (gl_CHECK_NEXT_HEADERS): New macro. * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of the obsolescent gl_ABSOLUTE_HEADER. * m4/float_h.m4 (gl_FLOAT_H): Likewise. * m4/inttypes.m4 (gl_INTTYPES_H): Likewise. * m4/math_h.m4 (gl_MATH_H): Likewise. * m4/search_h.m4 (gl_SEARCH_H): Likewise. * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. * m4/stdint.m4 (gl_STDINT_H): Likewise. * m4/stdio_h.m4 (gl_STDIO_H): Likewise. * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise. * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise. * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise. * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise. * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. * m4/wchar.m4 (gl_WCHAR_H): Likewise. * m4/wctype.m4 (gl_WCTYPE_H): Likewise. * m4/inttypes.m4 (gl_INTTYPES_H): Define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean builds, since ABSOLUTE_INTTYPES_H is no longer being defined. * m4/stdint.m4 (gl_STDINT_H): Likewise, for _GL_JUST_INCLUDE_SYSTEM_STDINT_H. * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@ rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@. * lib/float_.h: Likewise. * lib/inttypes_.h: Likewise. * lib/math_.h: Likewise. * lib/search_.h: Likewise. * lib/signal_.h: Likewise. * lib/stdint_.h: Likewise. * lib/stdio_.h: Likewise. * lib/stdlib_.h: Likewise. * lib/string_.h: Likewise. * lib/sys_stat_.h: Likewise. * lib/sys_time_.h: Likewise. * lib/time_.h: Likewise. * lib/unistd_.h: Likewise. * lib/wchar_.h: Likewise. * lib/wctype_.h: Likewise. * modules/fcntl (Depends-on): Depend on absolute-header, not include_next. (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H. * modules/float: Likewise. * modules/inttypes: Likewise. * modules/math: Likewise. * modules/search: Likewise. * modules/signal: Likewise. * modules/stdint: Likewise. * modules/stdio: Likewise. * modules/stdlib: Likewise. * modules/string: Likewise. * modules/sys_stat: Likewise. * modules/sys_time: Likewise. * modules/time: Likewise. * modules/unistd: Likewise. * modules/wchar: Likewise. * modules/wctype: Likewise. * modules/sys_stat: Change maintainer to "all". * modules/unistd: Likewise.
Paul Eggert ab681e53 2007-05-17T06:14:29 * lib/fcntl_.h: Prefer #include_next <foo.h> to #include @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@. This works better with GCC 4.2, which otherwise issues a lot of warnings. * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h: * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h: * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise. * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as it should no longer be needed. * lib/string_.h: Likewise. * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define. * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@. * modules/inttypes (inttypes.h): Likewise. * modules/math (math.h): Likewise. * modules/search (search.h): Likewise. * modules/signal (signal.h): Likewise. * modules/stdint (stdint.h): Likewise. * modules/stdio (stdio.h): Likewise. * modules/stdlib (stdlib.h): Likewise. * modules/string (string.h): Likewise. * modules/sys_time (sys/time.h): Likewise. * modules/time (time.h): Likewise. * modules/wchar (wchar.h): Likewise. * modules/wctype (wtype.h): Likewise.
Bruno Haible f8cce822 2007-04-06T20:55:44 New module 'signbit'.
Bruno Haible d6687687 2007-03-30T00:13:24 New module 'ldexpl'.
Bruno Haible 666ce534 2007-03-25T21:35:38 Provide a replacement for frexpl() if the system has it but it doesn't work.
Bruno Haible 8abd9074 2007-03-23T01:26:24 New module 'frexpl'.
Bruno Haible ffa7dae3 2007-03-22T03:59:38 New module 'frexp'.
Bruno Haible 69baaaa7 2007-03-07T01:12:01 Provide the option to declare the mathl functions also when the 'mathl' module is not used. Needed for MacOS X.
Bruno Haible e1123c2f 2007-02-18T15:10:28 New module 'math'. <math.h> replaces mathl.h.