summaryrefslogtreecommitdiff
path: root/modules/math
Commit message (Collapse)AuthorAgeFilesLines
* maint: avoid empty lines in recipesPaul Eggert2021-12-241-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AIX 7.2 ‘make’ complains about recipe lines that are empty after macro expansion, and I suppose there’s a good chance some non-POSIX ‘make’ would prohibit them. Rework macros so that we can avoid them. * gnulib-tool (func_emit_lib_Makefile_am) (func_emit_lib_Makefile_am): Support @!NMD@ too. * modules/gen-header (@gl_V_at): New macro. * modules/alloca-opt, modules/argz, modules/assert-h: * modules/byteswap, modules/configmake, modules/ctype: * modules/dirent, modules/errno, modules/execinfo, modules/fcntl-h: * modules/float, modules/fnmatch-h, modules/getopt-posix: * modules/glob-h, modules/iconv-h, modules/ieee754-h: * modules/inttypes-incomplete, modules/langinfo: * modules/libtextstyle-optional, modules/limits-h, modules/locale: * modules/malloc-h, modules/math, modules/monetary, modules/netdb: * modules/openmp-init, modules/poll-h, modules/posix-shell: * modules/pthread-h, modules/pty, modules/sched, modules/search: * modules/signal-h, modules/sigsegv, modules/snippet/link-warning: * modules/spawn, modules/stdalign, modules/stdarg, modules/stdbool: * modules/stddef, modules/stdint, modules/stdio, modules/stdlib: * modules/stdnoreturn, modules/string, modules/strings: * modules/sysexits, modules/termios, modules/threads-h: * modules/time, modules/uchar, modules/unicase/base: * modules/uniconv/base, modules/unictype/base, modules/unigbrk/base: * modules/unilbrk/base, modules/uniname/base, modules/uninorm/base: * modules/unistd, modules/unistdio/base, modules/unistr/base: * modules/unitypes, modules/uniwbrk/base, modules/uniwidth/base: * modules/utime-h, modules/wchar, modules/wctype-h: Use it.
* gen-header: new modulePaul Eggert2021-12-241-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify header generation by using Makefile variables defined by a new gen-header module. * modules/gen-header: New module. * modules/alloca-opt, modules/argz, modules/arpa_inet: * modules/assert-h, modules/byteswap: * modules/ctype, modules/dirent, modules/dynarray, modules/errno: * modules/execinfo, modules/fcntl-h, modules/float: * modules/fnmatch-h, modules/getopt-posix, modules/glob-h: * modules/iconv-h, modules/ieee754-h, modules/inttypes-incomplete: * modules/langinfo, modules/libtextstyle-optional, modules/limits-h: * modules/locale, modules/malloc-h, modules/math, modules/monetary: * modules/net_if, modules/netdb, modules/netinet_in: * modules/openmp-init, modules/poll-h: * modules/pthread-h, modules/pty, modules/sched: * modules/scratch_buffer, modules/search, modules/selinux-h: * modules/signal-h, modules/sigsegv: * modules/spawn, modules/stdalign, modules/stdarg, modules/stdbool: * modules/stddef, modules/stdint, modules/stdio, modules/stdlib: * modules/stdnoreturn, modules/string, modules/strings: * modules/sys_file, modules/sys_ioctl, modules/sys_random: * modules/sys_resource, modules/sys_select, modules/sys_socket: * modules/sys_stat, modules/sys_time, modules/sys_times: * modules/sys_types, modules/sys_uio, modules/sys_utsname: * modules/sys_wait, modules/sysexits, modules/termios: * modules/threads-h, modules/time, modules/uchar: * modules/unicase/base, modules/unicase/special-casing: * modules/uniconv/base, modules/unictype/base, modules/unigbrk/base: * modules/unilbrk/base, modules/uniname/base, modules/uninorm/base: * modules/unistd, modules/unistdio/base, modules/unistr/base: * modules/unitypes, modules/uniwbrk/base, modules/uniwidth/base: * modules/utime-h, modules/wchar, modules/wctype-h: Depend on gen-header, and use its macros to simplify header generation.
* maint: omit unnecessary ‘rm -f $@-t $@’Paul Eggert2021-12-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * modules/alloca-opt, modules/argz, modules/arpa_inet: * modules/assert-h, modules/byteswap, modules/configmake: * modules/ctype, modules/dirent, modules/dynarray, modules/errno: * modules/execinfo, modules/fcntl-h, modules/float: * modules/fnmatch-h, modules/getopt-posix, modules/glob-h: * modules/iconv-h, modules/ieee754-h, modules/inttypes-incomplete: * modules/langinfo, modules/libtextstyle-optional: * modules/limits-h, modules/langinfo, modules/libgmp, modules/limits-h: * modules/locale, modules/malloc-h, modules/math, modules/monetary: * modules/net_if, modules/netdb, modules/netinet_in: * modules/openmp-init, modules/poll-h, modules/posix-shell: * modules/posix_spawnp-tests, modules/pthread-h, modules/pty: * modules/sched, modules/scratch_buffer, modules/search: * modules/selinux-h, modules/signal-h, modules/sigsegv: * modules/snippet/link-warning, modules/spawn, modules/stdalign: * modules/stdarg, modules/stdbool, modules/stddef, modules/stdint: * modules/stdio, modules/stdlib, modules/stdnoreturn: * modules/string, modules/strings, modules/sys_file: * modules/sys_ioctl, modules/sys_random, modules/sys_resource: * modules/sys_select, modules/sys_socket, modules/sys_stat: * modules/sys_time, modules/sys_times, modules/sys_types: * modules/sys_uio, modules/sys_utsname, modules/sys_wait: * modules/sysexits, modules/termios, modules/threads-h: * modules/time, modules/uchar, modules/unicase/base: * modules/unicase/special-casing, modules/uniconv/base: * modules/unictype/base, modules/unigbrk/base, modules/unilbrk/base: * modules/uniname/base, modules/uninorm/base, modules/unistd: * modules/unistdio/base, modules/unistr/base, modules/unitypes: * modules/uniwbrk/base, modules/uniwidth/base, modules/utime-h: * modules/wchar, modules/wctype-h: Don’t bother to do a ‘rm -f $@-t $@’ at the start of recipes that create .h and similar files. This is a revenant of a style in which the files were created read-only. Also, consistently use use plain ‘mv $@-t $@’ afterwards, instead of usually using ‘mv -f’ but sometimes plain ‘mv’.
* Optimize redundant 'mkdir -p .' invocations.Bruno Haible2021-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Paul Eggert. * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Eliminate @NMD@ tokens. * modules/alloca-opt (Makefile.am): Prefix the "$(MKDIR_P) '%reldir%'" line with @NMD@. * modules/argz (Makefile.am): Likewise. * modules/assert-h (Makefile.am): Likewise. * modules/byteswap (Makefile.am): Likewise. * modules/configmake (Makefile.am): Likewise. * modules/ctype (Makefile.am): Likewise. * modules/dirent (Makefile.am): Likewise. * modules/errno (Makefile.am): Likewise. * modules/execinfo (Makefile.am): Likewise. * modules/fcntl-h (Makefile.am): Likewise. * modules/float (Makefile.am): Likewise. * modules/fnmatch-h (Makefile.am): Likewise. * modules/getopt-posix (Makefile.am): Likewise. * modules/glob-h (Makefile.am): Likewise. * modules/iconv-h (Makefile.am): Likewise. * modules/ieee754-h (Makefile.am): Likewise. * modules/inttypes-incomplete (Makefile.am): Likewise. * modules/langinfo (Makefile.am): Likewise. * modules/libtextstyle-optional (Makefile.am): Likewise. * modules/limits-h (Makefile.am): Likewise. * modules/locale (Makefile.am): Likewise. * modules/malloc-h (Makefile.am): Likewise. * modules/math (Makefile.am): Likewise. * modules/monetary (Makefile.am): Likewise. * modules/netdb (Makefile.am): Likewise. * modules/openmp-init (Makefile.am): Likewise. * modules/poll-h (Makefile.am): Likewise. * modules/posix-shell (Makefile.am): Likewise. * modules/pthread-h (Makefile.am): Likewise. * modules/pty (Makefile.am): Likewise. * modules/sched (Makefile.am): Likewise. * modules/search (Makefile.am): Likewise. * modules/signal-h (Makefile.am): Likewise. * modules/sigsegv (Makefile.am): Likewise. * modules/snippet/link-warning (Makefile.am): Likewise. * modules/spawn (Makefile.am): Likewise. * modules/stdalign (Makefile.am): Likewise. * modules/stdarg (Makefile.am): Likewise. * modules/stdbool (Makefile.am): Likewise. * modules/stddef (Makefile.am): Likewise. * modules/stdint (Makefile.am): Likewise. * modules/stdio (Makefile.am): Likewise. * modules/stdlib (Makefile.am): Likewise. * modules/stdnoreturn (Makefile.am): Likewise. * modules/string (Makefile.am): Likewise. * modules/strings (Makefile.am): Likewise. * modules/sysexits (Makefile.am): Likewise. * modules/termios (Makefile.am): Likewise. * modules/threads-h (Makefile.am): Likewise. * modules/time (Makefile.am): Likewise. * modules/uchar (Makefile.am): Likewise. * modules/unicase/base (Makefile.am): Likewise. * modules/uniconv/base (Makefile.am): Likewise. * modules/unictype/base (Makefile.am): Likewise. * modules/unigbrk/base (Makefile.am): Likewise. * modules/unilbrk/base (Makefile.am): Likewise. * modules/uniname/base (Makefile.am): Likewise. * modules/uninorm/base (Makefile.am): Likewise. * modules/unistd (Makefile.am): Likewise. * modules/unistdio/base (Makefile.am): Likewise. * modules/unistr/base (Makefile.am): Likewise. * modules/unitypes (Makefile.am): Likewise. * modules/uniwbrk/base (Makefile.am): Likewise. * modules/uniwidth/base (Makefile.am): Likewise. * modules/utime-h (Makefile.am): Likewise. * modules/wchar (Makefile.am): Likewise. * modules/wctype-h (Makefile.am): Likewise.
* Fix creation of build directories with non-recursive-gnulib-prefix-hack.Bruno Haible2021-12-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is necessary for executing "make" in a VPATH build of a package that uses prefix-gnulib-mk and a module such as alloca-opt. * modules/alloca-opt (Makefile.am): Before generating the .h-t file, ensure that the directory in which we want to create it exists. (configure.ac): Invoke AC_PROG_MKDIR_P. * modules/argz: Likewise. * modules/arpa_inet: Likewise. * modules/assert-h: Likewise. * modules/byteswap: Likewise. * modules/configmake: Likewise. * modules/ctype: Likewise. * modules/dirent: Likewise. * modules/dynarray: Likewise. * modules/errno: Likewise. * modules/execinfo: Likewise. * modules/fcntl-h: Likewise. * modules/float: Likewise. * modules/fnmatch-h: Likewise. * modules/getopt-posix: Likewise. * modules/glob-h: Likewise. * modules/iconv-h: Likewise. * modules/ieee754-h: Likewise. * modules/inttypes-incomplete: Likewise. * modules/langinfo: Likewise. * modules/libgmp: Likewise. * modules/libtextstyle-optional: Likewise. * modules/limits-h: Likewise. * modules/locale: Likewise. * modules/malloc-h: Likewise. * modules/math: Likewise. * modules/monetary: Likewise. * modules/net_if: Likewise. * modules/netdb: Likewise. * modules/netinet_in: Likewise. * modules/openmp-init: Likewise. * modules/poll-h: Likewise. * modules/posix-shell: Likewise. * modules/pthread-h: Likewise. * modules/pty: Likewise. * modules/sched: Likewise. * modules/scratch_buffer: Likewise. * modules/search: Likewise. * modules/selinux-h: Likewise. * modules/signal-h: Likewise. * modules/sigsegv: Likewise. * modules/snippet/link-warning: Likewise. * modules/spawn: Likewise. * modules/stdalign: Likewise. * modules/stdarg: Likewise. * modules/stdbool: Likewise. * modules/stddef: Likewise. * modules/stdint: Likewise. * modules/stdio: Likewise. * modules/stdlib: Likewise. * modules/stdnoreturn: Likewise. * modules/string: Likewise. * modules/strings: Likewise. * modules/sys_file: Likewise. * modules/sys_ioctl: Likewise. * modules/sys_random: Likewise. * modules/sys_resource: Likewise. * modules/sys_select: Likewise. * modules/sys_socket: Likewise. * modules/sys_stat: Likewise. * modules/sys_time: Likewise. * modules/sys_times: Likewise. * modules/sys_types: Likewise. * modules/sys_uio: Likewise. * modules/sys_utsname: Likewise. * modules/sys_wait: Likewise. * modules/sysexits: Likewise. * modules/termios: Likewise. * modules/threads-h: Likewise. * modules/time: Likewise. * modules/uchar: Likewise. * modules/unicase/base: Likewise. * modules/unicase/special-casing: Likewise. * modules/uniconv/base: Likewise. * modules/unictype/base: Likewise. * modules/unigbrk/base: Likewise. * modules/unilbrk/base: Likewise. * modules/uniname/base: Likewise. * modules/uninorm/base: Likewise. * modules/unistd: Likewise. * modules/unistdio/base: Likewise. * modules/unistr/base: Likewise. * modules/unitypes: Likewise. * modules/uniwbrk/base: Likewise. * modules/uniwidth/base: Likewise. * modules/utime-h: Likewise. * modules/wchar: Likewise. * modules/wctype-h: Likewise. * gnulib-tool (func_emit_lib_Makefile_am): When producing output for GNU make, eliminate %reldir% tokens.
* Support several gnulib-tool invocations under the same configure.ac.Bruno Haible2021-04-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Reuben Thomas <rrt@sc3d.org> in <https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00104.html>. This is done by defining the Gnulib module indicator variables per gnulib-tool invocation. So that a generated .h file is no longer influenced by the set of modules used in other gnulib-tool invocations. * gnulib-tool (func_compute_include_guard_prefix): Set module_indicator_prefix. (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use it to modify $(GNULIB_*) variable references in the Automake snippets. (func_emit_initmacro_start): Push macro definitions for GL_MACRO_PREFIX and GL_MODULE_INDICATOR_PREFIX. (func_emit_initmacro_end): Pop these macro definitions. * pygnulib/GLConfig.py (GLConfig.getIncludeGuardPrefix): New method. * pygnulib/GLEmiter.py (GLEmiter.initmacro_start): Push macro definitions for GL_MACRO_PREFIX and GL_MODULE_INDICATOR_PREFIX. (GLEmiter.initmacro_end): Pop these macro definitions. (GLEmiter.lib_Makefile_am, GLEmiter.tests_Makefile_am): Use the module indicator prefix to modify $(GNULIB_*) variable references in the Automake snippets. * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_INIT_VARIABLE, gl_MODULE_INDICATOR_SET_VARIABLE): Use the value of GL_MODULE_INDICATOR_PREFIX. * m4/arpa_inet_h.m4: Use new idiom for header files that contain references to Gnulib module indicator variables: - Define the main macro through AC_DEFUN_ONCE. - Define a macro gl_*_H_REQUIRE_DEFAULTS that initializes the Gnulib module indicator variables (each prefixed with GL_MODULE_INDICATOR_PREFIX). - Invoke this macro in the gl_*_MODULE_INDICATOR macro. * m4/ctype.m4: Likewise. * m4/dirent_h.m4: Likewise. * m4/fcntl_h.m4: Likewise. * m4/fnmatch_h.m4: Likewise. * m4/glob_h.m4: Likewise. * m4/iconv_h.m4: Likewise. * m4/inttypes.m4: Likewise. * m4/langinfo_h.m4: Likewise. * m4/locale_h.m4: Likewise. * m4/malloc_h.m4: Likewise. * m4/math_h.m4: Likewise. * m4/monetary_h.m4: Likewise. * m4/netdb_h.m4: Likewise. * m4/poll_h.m4: Likewise. * m4/pthread_h.m4: Likewise. * m4/pty_h.m4: Likewise. * m4/sched_h.m4: Likewise. * m4/search_h.m4: Likewise. * m4/signal_h.m4: Likewise. * m4/spawn_h.m4: Likewise. * m4/stddef_h.m4: Likewise. * m4/stdio_h.m4: Likewise. * m4/stdlib_h.m4: Likewise. * m4/string_h.m4: Likewise. * m4/strings_h.m4: Likewise. * m4/sys_file_h.m4: Likewise. * m4/sys_ioctl_h.m4: Likewise. * m4/sys_random_h.m4: Likewise. * m4/sys_resource_h.m4: Likewise. * m4/sys_select_h.m4: Likewise. * m4/sys_socket_h.m4: Likewise. * m4/sys_stat_h.m4: Likewise. * m4/sys_time_h.m4: Likewise. * m4/sys_times_h.m4: Likewise. * m4/sys_types_h.m4: Likewise. * m4/sys_uio_h.m4: Likewise. * m4/sys_utsname_h.m4: Likewise. * m4/sys_wait_h.m4: Likewise. * m4/termios_h.m4: Likewise. * m4/threads.m4: Likewise. * m4/time_h.m4: Likewise. * m4/uchar.m4: Likewise. * m4/unistd_h.m4: Likewise. * m4/utime_h.m4: Likewise. * m4/wchar_h.m4: Likewise. * m4/wctype_h.m4: Likewise. * modules/arpa_inet (configure.ac): Invoke the macro gl_*_H_REQUIRE_DEFAULTS explicitly. * modules/ctype (configure.ac): Likewise. * modules/dirent (configure.ac): Likewise. * modules/fcntl-h (configure.ac): Likewise. * modules/fnmatch-h (configure.ac): Likewise. * modules/glob-h (configure.ac): Likewise. * modules/iconv-h (configure.ac): Likewise. * modules/inttypes-incomplete (configure.ac): Likewise. * modules/langinfo (configure.ac): Likewise. * modules/locale (configure.ac): Likewise. * modules/malloc-h (configure.ac): Likewise. * modules/math (configure.ac): Likewise. * modules/monetary (configure.ac): Likewise. * modules/netdb (configure.ac): Likewise. * modules/poll-h (configure.ac): Likewise. * modules/pthread-h (configure.ac): Likewise. * modules/pty (configure.ac): Likewise. * modules/sched (configure.ac): Likewise. * modules/search (configure.ac): Likewise. * modules/signal-h (configure.ac): Likewise. * modules/spawn (configure.ac): Likewise. * modules/stddef (configure.ac): Likewise. * modules/stdio (configure.ac): Likewise. * modules/stdlib (configure.ac): Likewise. * modules/string (configure.ac): Likewise. * modules/strings (configure.ac): Likewise. * modules/sys_file (configure.ac): Likewise. * modules/sys_ioctl (configure.ac): Likewise. * modules/sys_random (configure.ac): Likewise. * modules/sys_resource (configure.ac): Likewise. * modules/sys_select (configure.ac): Likewise. * modules/sys_socket (configure.ac): Likewise. * modules/sys_stat (configure.ac): Likewise. * modules/sys_time (configure.ac): Likewise. * modules/sys_times (configure.ac): Likewise. * modules/sys_types (configure.ac): Likewise. * modules/sys_uio (configure.ac): Likewise. * modules/sys_utsname (configure.ac): Likewise. * modules/sys_wait (configure.ac): Likewise. * modules/termios (configure.ac): Likewise. * modules/threads-h (configure.ac): Likewise. * modules/time (configure.ac): Likewise. * modules/uchar (configure.ac): Likewise. * modules/unistd (configure.ac): Likewise. * modules/utime-h (configure.ac): Likewise. * modules/wchar (configure.ac): Likewise. * modules/wctype-h (configure.ac): Likewise. * m4/af_alg.m4: Update after a macro name changed. * m4/ctime.m4: Likewise. * m4/explicit_bzero.m4: Likewise. * m4/ffs.m4: Likewise. * m4/ffsl.m4: Likewise. * m4/ffsll.m4: Likewise. * m4/flock.m4: Likewise. * m4/fstat.m4: Likewise. * m4/getaddrinfo.m4: Likewise. * m4/getdomainname.m4: Likewise. * m4/gettimeofday.m4: Likewise. * m4/hostent.m4: Likewise. * m4/ioctl.m4: Likewise. * m4/localtime.m4: Likewise. * m4/mbslen.m4: Likewise. * m4/memchr.m4: Likewise. * m4/memmem.m4: Likewise. * m4/mempcpy.m4: Likewise. * m4/memrchr.m4: Likewise. * m4/mktime.m4: Likewise. * m4/nanosleep.m4: Likewise. * m4/passfd.m4: Likewise. * m4/pselect.m4: Likewise. * m4/rawmemchr.m4: Likewise. * m4/select.m4: Likewise. * m4/servent.m4: Likewise. * m4/sigabbrev_np.m4: Likewise. * m4/sigdescr_np.m4: Likewise. * m4/sockpfaf.m4: Likewise. * m4/stat.m4: Likewise. * m4/stpcpy.m4: Likewise. * m4/stpncpy.m4: Likewise. * m4/strcase.m4: Likewise. * m4/strcasestr.m4: Likewise. * m4/strchrnul.m4: Likewise. * m4/strdup.m4: Likewise. * m4/strerror.m4: Likewise. * m4/strerror_r.m4: Likewise. * m4/strerrorname_np.m4: Likewise. * m4/strftime-fixes.m4: Likewise. * m4/strncat.m4: Likewise. * m4/strndup.m4: Likewise. * m4/strnlen.m4: Likewise. * m4/strpbrk.m4: Likewise. * m4/strptime.m4: Likewise. * m4/strsep.m4: Likewise. * m4/strsignal.m4: Likewise. * m4/strstr.m4: Likewise. * m4/strtok_r.m4: Likewise. * m4/strverscmp.m4: Likewise. * m4/time_r.m4: Likewise. * m4/time_rz.m4: Likewise. * m4/timegm.m4: Likewise. * m4/timespec_get.m4: Likewise. * m4/tzset.m4: Likewise. * modules/accept (configure.ac): Likewise. * modules/bind (configure.ac): Likewise. * modules/connect (configure.ac): Likewise. * modules/flock (configure.ac): Likewise. * modules/getpeername (configure.ac): Likewise. * modules/getsockname (configure.ac): Likewise. * modules/getsockopt (configure.ac): Likewise. * modules/listen (configure.ac): Likewise. * modules/recv (configure.ac): Likewise. * modules/recvfrom (configure.ac): Likewise. * modules/send (configure.ac): Likewise. * modules/sendto (configure.ac): Likewise. * modules/setsockopt (configure.ac): Likewise. * modules/shutdown (configure.ac): Likewise. * modules/socket (configure.ac): Likewise. Use the gl_*_H_REQUIRE_DEFAULTS macros. * modules/nonblocking (configure.ac): Use the gl_*_H_REQUIRE_DEFAULTS and gl_MODULE_INDICATOR_INIT_VARIABLE macros. * modules/sigpipe (configure.ac): Likewise. * modules/windows-stat-override (configure.ac): Likewise. * m4/nonblocking.m4: Update a comment. * m4/sigpipe.m4: Likewise.
* Make it possible to turn off each of the Windows oldnames workarounds.Bruno Haible2020-12-251-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/fcntl.in.h (creat, open): Conditionalize each of the Windows oldnames workarounds through a GNULIB_MDA_<func> symbol. * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise. * lib/search.in.h (lfind, lsearch): Likewise. * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam): Likewise. * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise. * lib/string.in.h (memccpy, strdup): Likewise. * lib/sys_stat.in.h (chmod, umask): Likewise. * lib/time.in.h (tzset): Likewise. * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle, execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek, read, rmdir, swab, unlink, write): Likewise. * lib/utime.in.h (utime): Likewise. * lib/wchar.in.h (wcsdup): Likewise. * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these GNULIB_MDA_<func> symbols. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise. * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise. * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise. * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise. * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise. * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise. * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise. * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func> symbols. * modules/math (Makefile.am): Likewise. * modules/search (Makefile.am): Likewise. * modules/stdio (Makefile.am): Likewise. * modules/stdlib (Makefile.am): Likewise. * modules/string (Makefile.am): Likewise. * modules/sys_stat (Makefile.am): Likewise. * modules/time (Makefile.am): Likewise. * modules/unistd (Makefile.am): Likewise. * modules/utime-h (Makefile.am): Likewise. * modules/wchar (Makefile.am): Likewise.
* Use __builtin_signbit* with clang.Bruno Haible2020-08-091-1/+1
| | | | | | | | | | * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang. * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang. Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC. * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
* rintl: Override broken implementation on NetBSD.Bruno Haible2019-01-211-0/+1
| | | | | | | | | | * lib/math.in.h (rintl): Test also REPLACE_RINTL. * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set REPLACE_RINTL. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL. * modules/math (Makefile.in): Substitute REPLACE_RINTL. * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL. * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
* expm1l: Work around inaccurate implementation on NetBSD.Bruno Haible2019-01-201-0/+1
| | | | | | | | | | * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L. * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set REPLACE_EXPM1L. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L. * modules/math (Makefile.in): Substitute REPLACE_EXPM1L. * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L. * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
* expl: Work around inaccurate implementation on NetBSD.Bruno Haible2019-01-201-0/+1
| | | | | | | | | | * lib/math.in.h (expl): Test also REPLACE_EXPL. * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set REPLACE_EXPL. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL. * modules/math (Makefile.in): Substitute REPLACE_EXPL. * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL. * doc/posix-functions/expl.texi: Mention the NetBSD bug.
* ilogbl: Ensure replacement on Haiku.Bruno Haible2017-10-291-0/+1
| | | | | | | | | | | * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set REPLACE_ILOGBL if ilogbl does not work. (gl_FUNC_ILOGBL_WORKS): New macro. * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL. * modules/math (Makefile.am): Substitute REPLACE_ILOGBL. * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL. * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
* tanhf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF. * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_TANHF. * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
* tanf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF. * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_TANF. * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
* sqrtf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF. * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_SQRTF. * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
* sinhf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF. * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_SINHF. * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
* sinf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF. * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_SINF. * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
* expf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF. * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_EXPF. * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
* coshf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF. * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_COSHF. * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
* cosf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF. * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_COSF. * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
* atan2f: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F. * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_ATAN2F. * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
* atanf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF. * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_ATANF. * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
* asinf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-0/+1
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF. * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_ASINF. * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
* acosf: Avoid redefinition error on MSVC.Bruno Haible2016-12-171-1/+2
| | | | | | | | * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF. * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function may be defined as an inline function. * modules/math (Makefile.am): Substitute REPLACE_ACOSF. * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
* math: better 'inline'Paul Eggert2012-11-291-0/+3
| | | | | | | | | | | | * lib/math.c: New file. * lib/math.in.h (_GL_MATH_INLINE): New macro. Replace all uses of 'static inline' with it. Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. * m4/math_h.m4 (gl_MATH_H): Do not require AC_C_INLINE. * modules/math (Files, lib_SOURCES): Add lib/math.c. (Depends-on): Add extern-inline.
* New module 'ilogbl'.Bruno Haible2012-04-031-2/+5
| | | | | | | | | | | | | | * lib/math.in.h (ilogbl): New declaration. * lib/ilogbl.c: New file. * m4/ilogbl.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL. * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL. Split sed invocation, to avoid the limit of 100 substitutions of HP-UX 'sed'. * modules/ilogbl: New file. * tests/test-math-c++.cc: Check the declaration of ilogbl. * doc/posix-functions/ilogbl.texi: Mention the new module.
* New module 'ilogbf'.Bruno Haible2012-04-031-0/+3
| | | | | | | | | | | | | | * lib/math.in.h (ilogbf): New declaration. * lib/ilogbf.c: New file. * m4/ilogbf.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF, REPLACE_ILOGBF. * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF, REPLACE_ILOGBF. * modules/ilogbf: New file. * tests/test-math-c++.cc: Check the declaration of ilogbf. * doc/posix-functions/ilogbf.texi: Mention the new module.
* New module 'ilogb'.Bruno Haible2012-04-031-0/+3
| | | | | | | | | | | | | | * lib/math.in.h (ilogb): New declaration. * lib/ilogb.c: New file. * m4/ilogb.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB, REPLACE_ILOGB. * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB, REPLACE_ILOGB. * modules/ilogb: New file. * tests/test-math-c++.cc: Check the declaration of ilogb. * doc/posix-functions/ilogb.texi: Mention the new module.
* New module 'logbl'.Bruno Haible2012-04-031-0/+3
| | | | | | | | | | | | | | * lib/math.in.h (logbl): New declaration. * lib/logbl.c: New file. * m4/logbl.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL, REPLACE_LOGBL. * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL, REPLACE_LOGBL. * modules/logbl: New file. * tests/test-math-c++.cc: Check the declaration of logbl. * doc/posix-functions/logbl.texi: Mention the new module.
* New module 'logbf'.Bruno Haible2012-04-031-0/+3
| | | | | | | | | | | | | | * lib/math.in.h (logbf): New declaration. * lib/logbf.c: New file. * m4/logbf.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF, REPLACE_LOGBF. * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF, REPLACE_LOGBF. * modules/logbf: New file. * tests/test-math-c++.cc: Check the declaration of logbf. * doc/posix-functions/logbf.texi: Mention the new module.
* logb: Provide replacement and workarounds.Bruno Haible2012-04-031-2/+3
| | | | | | | | | | | | | | | | * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB is 1. * lib/logb.c: New file. * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro. (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB. * modules/math (Makefile.am): Substitute REPLACE_LOGB. * modules/logb (Files): Add lib/logb.c. (Depends-on): Add isfinite, frexp, isnand. (configure.ac): Compile the replacement code logb.c if needed. * tests/test-math-c++.cc: Check the declaration of logb. * doc/posix-functions/logb.texi: Mention the replacement and the bug with subnormal numbers.
* log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.Bruno Haible2012-04-011-0/+1
| | | | | | | | | | | | | | * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1. * lib/log10l.c (log10l): If log10l exists, use it and provide just the workaround. * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro. (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L. * modules/math (Makefile.am): Substitute REPLACE_LOG10L. * modules/log10l (configure.ac): Consider REPLACE_LOG10L. (Depends-on): Update conditions. * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1, IRIX 6.5, OSF/1 5.1 problems.
* log10f: Work around OSF/1 5.1 bug.Bruno Haible2012-04-011-0/+1
| | | | | | | | | | | | | * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1. * lib/log10f.c (log10f): If logf exists, use it and provide just the workaround. * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro. (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F. * modules/math (Makefile.am): Substitute REPLACE_LOG10F. * modules/log10f (configure.ac): Consider REPLACE_LOG10F. (Depends-on): Update conditions. * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
* log10: Work around OSF/1 5.1 bug.Bruno Haible2012-04-011-0/+2
| | | | | | | | | | | | | | | * lib/math.in.h (log10): New declaration. * lib/log10.c: New file. * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro. (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10. * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10. * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10. * modules/log10 (Files): Add lib/log10.c. (Depends-on): Add math. (configure.ac): If REPLACE_LOG10 is 1, compile an override. * tests/test-math-c++.cc: Check the declaration of log10. * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
* sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.Bruno Haible2012-03-141-0/+1
| | | | | | | | | | | | | | * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1. * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro. (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces too big rounding errors. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL. * modules/math (Makefile.am): Substitute REPLACE_SQRTL. * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL. (Depends-on): Update conditions. * tests/test-sqrtl.c (my_ldexpl): New function. (main): Add test of a particular value. * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
* New module 'log2l'.Bruno Haible2012-03-111-0/+3
| | | | | | | | | | | | | | | * lib/math.in.h (log2l): New declaration. * lib/log2l.c: New file. * m4/log2l.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L, REPLACE_LOG2L. * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L, REPLACE_LOG2L. * modules/log2l: New file. * tests/test-math-c++.cc: Check the declaration of log2l. * doc/posix-functions/log2l.texi: Mention the new module and the IRIX and OSF/1 problems.
* New module 'log2f'.Bruno Haible2012-03-111-0/+3
| | | | | | | | | | | | | | | * lib/math.in.h (log2f): New declaration. * lib/log2f.c: New file. * m4/log2f.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F, REPLACE_LOG2F. * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F, REPLACE_LOG2F. * modules/log2f: New file. * tests/test-math-c++.cc: Check the declaration of log2f. * doc/posix-functions/log2f.texi: Mention the new module and the IRIX and OSF/1 and Cygwin problems.
* New module 'log2'.Bruno Haible2012-03-111-0/+3
| | | | | | | | | | | | | | | * lib/math.in.h (log2): New declaration. * lib/log2.c: New file. * m4/log2.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2, REPLACE_LOG2. * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2, REPLACE_LOG2. * modules/log2: New file. * tests/test-math-c++.cc: Check the declaration of log2. * doc/posix-functions/log2.texi: Mention the new module and the IRIX and OSF/1 and Cygwin problems.
* log1pl-ieee: Work around test failure on IRIX 6.5.Bruno Haible2012-03-111-0/+1
| | | | | | | | | | | | | | | | * m4/log1pl-ieee.m4: New file. * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present, test whether log1pl works with a minus zero argument. Replace it if not. * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL. * modules/math (Makefile.am): Substitute REPLACE_LOG1PL. * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL. (Depends-on): Update conditions. * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4, m4/signbit.m4. (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE. * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
* log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.Bruno Haible2012-03-111-0/+1
| | | | | | | | | | | | | | | * m4/log1p-ieee.m4: New file. * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test whether log1p works with a minus zero argument. Replace it if not. * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P. * modules/math (Makefile.am): Substitute REPLACE_LOG1P. * modules/log1p (configure.ac): Consider REPLACE_LOG1P. (Depends-on): Update conditions. * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4, m4/signbit.m4. (configure.ac): Invoke gl_FUNC_LOG1P_IEEE. * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
* New module 'log1pl'.Bruno Haible2012-03-111-0/+2
| | | | | | | | | | | | * lib/math.in.h (log1pl): New declaration. * lib/log1pl.c: New file. * m4/log1pl.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL. * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL. * modules/log1pl: New file. * tests/test-math-c++.cc: Check the declaration of log1pl. * doc/posix-functions/log1pl.texi: Mention the new module.
* New module 'log1pf'.Bruno Haible2012-03-111-0/+3
| | | | | | | | | | | | | | * lib/math.in.h (log1pf): New declaration. * lib/log1pf.c: New file. * m4/log1pf.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF, REPLACE_LOG1PF. * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF, REPLACE_LOG1PF. * modules/log1pf: New file. * tests/test-math-c++.cc: Check the declaration of log1pf. * doc/posix-functions/log1pf.texi: Mention the new module.
* log1p: Provide replacement for Minix and MSVC.Bruno Haible2012-03-111-0/+2
| | | | | | | | | | | | | | | * lib/math.in.h (log1p): New declaration. * lib/log1p.c: New file. * m4/log1p.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P. * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P. * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4. (Depends-on): Add math, isnand, log, round. (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if HAVE_LOG1P is 0. * tests/test-math-c++.cc: Check the declaration of log1p. * doc/posix-functions/log1p.texi: Mention the replacement.
* logl: Work around OSF/1 5.1 bug.Bruno Haible2012-03-101-0/+1
| | | | | | | | | | | | | * lib/math.in.h (logl): Override if REPLACE_LOGL is 1. * lib/logl.c (logl): If logf exists, use it and provide just the workaround. * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro. (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL. * modules/math (Makefile.am): Substitute REPLACE_LOGL. * modules/logl (configure.ac): Consider REPLACE_LOGL. (Depends-on): Update conditions. * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
* logf: Work around OSF/1 5.1 bug.Bruno Haible2012-03-101-0/+1
| | | | | | | | | | | | | * lib/math.in.h (logf): Override if REPLACE_LOGF is 1. * lib/logf.c (logf): If logf exists, use it and provide just the workaround. * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro. (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF. * modules/math (Makefile.am): Substitute REPLACE_LOGF. * modules/logf (configure.ac): Consider REPLACE_LOGF. (Depends-on): Update conditions. * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
* log: Work around OSF/1 5.1 bug.Bruno Haible2012-03-101-0/+2
| | | | | | | | | | | | | | | * lib/math.in.h (log): New declaration. * lib/log.c: New file. * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro. (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG. * m4/math_h.m4 (gl_MATH_H): Test whether log is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG. * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG. * modules/log (Files): Add lib/log.c. (Depends-on): Add math. (configure.ac): If REPLACE_LOG is 1, compile an override. * tests/test-math-c++.cc: Check the declaration of log. * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
* exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.Bruno Haible2012-03-091-0/+1
| | | | | | | | | | | | | | | * m4/exp2l-ieee.m4: New file. * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present, test whether exp2l works with a NaN argument and with a negative infinity argument. Replace it if not. * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L. * modules/math (Makefile.am): Substitute REPLACE_EXP2L. * modules/exp2l (configure.ac): Consider REPLACE_EXP2L. (Depends-on): Update conditions. * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4. (configure.ac): Invoke gl_FUNC_EXP2L_IEEE. * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
* New module 'exp2l'.Bruno Haible2012-03-091-0/+2
| | | | | | | | | | | | | | | | | | * lib/math.in.h (exp2l): New declaration. * lib/exp2l.c: New file. * lib/expl-table.c: New file, extracted from lib/expl.c. * lib/expl.c (gl_expl_table): New declaration. (expl): Remove expl_table. Update reference. * m4/exp2l.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L. * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L. * modules/exp2l: New file. * modules/expl (Files): Add lib/expl-table.c. (configure.ac): Compile also expl-table.c. * tests/test-math-c++.cc: Check the declaration of exp2l. * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX problem.
* New module 'exp2f'.Bruno Haible2012-03-091-0/+2
| | | | | | | | | | | | | * lib/math.in.h (exp2f): New declaration. * lib/exp2f.c: New file. * m4/exp2f.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F. * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F. * modules/exp2f: New file. * tests/test-math-c++.cc: Check the declaration of exp2f. * doc/posix-functions/exp2f.texi: Mention the new module and the IRIX problem.
* New module 'exp2'.Bruno Haible2012-03-091-0/+3
| | | | | | | | | | | | | | | * lib/math.in.h (exp2): New declaration. * lib/exp2.c: New file. * m4/exp2.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2, REPLACE_EXP2. * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2, REPLACE_EXP2. * modules/exp2: New file. * tests/test-math-c++.cc: Check the declaration of exp2. * doc/posix-functions/exp2.texi: Mention the new module and the IRIX and OpenBSD problems.