fmodl: Fix last commit.
[gnulib.git] / ChangeLog
index fb78b42..7850616 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,390 @@
+2012-03-04  Bruno Haible  <bruno@clisp.org>
+
+       fmod* tests: More tests.
+       * tests/test-fmod.h (my_ldexp): New function.
+       (test_function): Reduce amount of random numbers to test. Add tests
+       of very large quotients x / y.
+       * tests/test-fmod.c (MAX_EXP): New macro.
+       * tests/test-fmodf.c (MAX_EXP): Likewise.
+       * tests/test-fmodl.c (MAX_EXP): Likewise.
+
+2012-03-04  Bruno Haible  <bruno@clisp.org>
+
+       fmod, fmodl: Fix computation for large quotients x / y.
+       * lib/fmod.c: Completely rewritten.
+       * lib/fmodl.c (fmodl): Use implementation of fmod.c with
+       USE_LONG_DOUBLE.
+       * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
+       isnand. Remove fma.
+       * modules/fmodl (Files): Add lib/fmod.c.
+       (Depends-on): Add float, isfinite, signbit, fabsl,
+       frexpl, ldexpl, isnanl. Remove fma.
+       * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
+       * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       fmod* tests: More tests.
+       * tests/test-fmod.h: New file.
+       * tests/test-fmod.c: Include <float.h> and test-fmod.h.
+       (main): Invoke test_function.
+       * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
+       (main): Invoke test_function.
+       * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
+       (main): Invoke test_function.
+       * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_fmod_SOURCES.
+       * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
+       * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
+       (Depends-on): Add 'float'.
+       (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       rint* tests: More tests.
+       * tests/test-rint.h: New file, partially extracted from
+       tests/test-rintl.c.
+       * tests/test-rint.c: Include test-rint.h.
+       (main): Invoke test_function.
+       * tests/test-rintf.c: Include test-rint.h.
+       (main): Invoke test_function.
+       * tests/test-rintl.c: Include test-rint.h.
+       (main): Invoke test_function.
+       * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_rint_SOURCES.
+       * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_rintf_SOURCES.
+       * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
+       (Makefile.am): Add randoml.c to test_rintl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       modf* tests: More tests.
+       * tests/test-modf.h: New file.
+       * tests/test-modf.c: Include <float.h> and test-modf.h.
+       (main): Invoke test_function.
+       * tests/test-modff.c: Include <float.h> and test-modf.h.
+       (main): Invoke test_function.
+       * tests/test-modfl.c: Include <float.h> and test-modf.h.
+       (main): Invoke test_function.
+       * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_modf_SOURCES.
+       * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_modff_SOURCES.
+       * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
+       (Depends-on): Add 'float'.
+       (Makefile.am): Add randoml.c to test_modfl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       fabs* tests: More tests.
+       * tests/test-fabs.h: New file, partially extracted from
+       tests/test-fabsl.c.
+       * tests/test-fabs.c (RANDOM): New macro.
+       * tests/test-fabsf.c (RANDOM): New macro.
+       * tests/test-fabsl.c (RANDOM): New macro.
+       * modules/fabs-tests (Files): Add tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_fabs_SOURCES.
+       * modules/fabsf-tests (Files): Add tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
+       * modules/fabsl-tests (Files): Add tests/randoml.c.
+       (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       ldexp* tests: More tests.
+       * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
+       * tests/test-ldexp.c (RANDOM): New macro.
+       * tests/test-ldexpf.c (RANDOM): New macro.
+       * tests/test-ldexpl.c (RANDOM): New macro.
+       * modules/ldexp-tests (Files): Add tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
+       * modules/ldexpf-tests (Files): Add tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
+       * modules/ldexpl-tests (Files): Add tests/randoml.c.
+       (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       frexp* tests: More tests.
+       * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
+       * tests/test-frexp.c (RANDOM): New macro.
+       * tests/test-frexpf.c (RANDOM): New macro.
+       * tests/test-frexpl.c (RANDOM): New macro.
+       * modules/frexp-tests (Files): Add tests/randomd.c.
+       (Makefile.am): Add randomd.c to test_frexp_SOURCES.
+       * modules/frexpf-tests (Files): Add tests/randomf.c.
+       (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
+       * modules/frexpl-tests (Files): Add tests/randoml.c.
+       (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       Support for pseudo-random numbers in tests.
+       * tests/randomf.c: New file.
+       * tests/randomd.c: New file.
+       * tests/randoml.c: New file.
+       * tests/macros.h (randomf, randomd, randoml): New declarations.
+
+2012-03-03  Bruno Haible  <bruno@clisp.org>
+
+       frexp* tests: Refactor.
+       * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
+       * tests/test-frexp.c: Include and use it.
+       * tests/test-frexpf.c: Likewise.
+       * tests/test-frexpl.c: Likewise.
+       * modules/frexp-tests (Files): Add tests/test-frexp.h.
+       * modules/frexpf-tests (Files): Likewise.
+       * modules/frexpl-tests (Files): Likewise.
+
+2012-03-02  Jim Meyering  <meyering@redhat.com>
+
+       maint: don't specify XZ_OPT=-9ev in dist-related rule
+       Using xz's -9 option is warranted only if you have a very large
+       tarball (see xz's documentation for the sizes vs. presets), and
+       requires 64MiB of memory at decompression time.
+       * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
+       Automake's default of just "-e" is fine.  Override on a
+       per-package basis by setting XZ_OPT e.g., in cfg.mk.
+
+2012-03-01  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: allow announcement for non-gnulib project
+       * maint.mk (announcement): Skip gnulib version if not used.
+
+2012-03-01  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: avoid spurious failure of _sc_search_regexp-using tests
+       * top/maint.mk: Initialize _sc_search_regexp parameters, so that
+       envvar settings cannot interfere.  Otherwise, setting envvars like
+       prohibit=foo require=bar, etc. would cause spurious test failures.
+
+2012-03-01  Eric Blake  <eblake@redhat.com>
+
+       maint.mk: add per-line exclusions to prohibitions
+       * maint.mk (_sc_search_regexp): Add $exclude parameter.
+       (sc_prohibit_strcmp, sc_unmarked_diagnostics)
+       (sc_const_long_option): Use it.
+
+2012-03-01  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'expl-ieee'.
+       * modules/expl-ieee-tests: New file.
+       * tests/test-expl-ieee.c: New file.
+
+       New module 'expl-ieee'.
+       * modules/expl-ieee: New file.
+
+       Tests for module 'exp-ieee'.
+       * modules/exp-ieee-tests: New file.
+       * tests/test-exp-ieee.c: New file.
+
+       New module 'exp-ieee'.
+       * modules/exp-ieee: New file.
+
+       Tests for module 'expf-ieee'.
+       * modules/expf-ieee-tests: New file.
+       * tests/test-expf-ieee.c: New file.
+       * tests/test-exp-ieee.h: New file.
+
+       New module 'expf-ieee'.
+       * modules/expf-ieee: New file.
+
 2012-02-29  Bruno Haible  <bruno@clisp.org>
 
+       cbrtl-ieee: Work around test failure on IRIX 6.5.
+       * m4/cbrtl-ieee.m4: New file.
+       * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
+       test whether cbrtl works with a minus zero argument. Replace it if not.
+       * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
+       * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
+       * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
+       (Depends-on): Update conditions.
+       * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
+       m4/signbit.m4.
+       (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
+       * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
+       * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
+
+       Tests for module 'cbrtl-ieee'.
+       * modules/cbrtl-ieee-tests: New file.
+       * tests/test-cbrtl-ieee.c: New file.
+
+       New module 'cbrtl-ieee'.
+       * modules/cbrtl-ieee: New file.
+
+       Tests for module 'cbrt-ieee'.
+       * modules/cbrt-ieee-tests: New file.
+       * tests/test-cbrt-ieee.c: New file.
+
+       New module 'cbrt-ieee'.
+       * modules/cbrt-ieee: New file.
+
+       Tests for module 'cbrtf-ieee'.
+       * modules/cbrtf-ieee-tests: New file.
+       * tests/test-cbrtf-ieee.c: New file.
+       * tests/test-cbrt-ieee.h: New file.
+
+       New module 'cbrtf-ieee'.
+       * modules/cbrtf-ieee: New file.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       cbrtf: Work around bug in IRIX 6.5 system function.
+       * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
+       * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
+       (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
+       work.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
+       * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
+       * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
+       (Depends-on): Update conditions.
+       * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'cbrtl'.
+       * modules/cbrtl-tests: New file.
+       * tests/test-cbrtl.c: New file.
+
+       New module 'cbrtl'.
+       * lib/math.in.h (cbrtl): New declaration.
+       * lib/cbrtl.c: New file.
+       * m4/cbrtl.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
+       HAVE_DECL_CBRTL.
+       * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
+       HAVE_DECL_CBRTL.
+       * modules/cbrtl: New file.
+       * tests/test-math-c++.cc: Check the declaration of cbrtl.
+       * doc/posix-functions/cbrtl.texi: Mention the new module.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'cbrtf'.
+       * modules/cbrtf-tests: New file.
+       * tests/test-cbrtf.c: New file.
+
+       New module 'cbrtf'.
+       * lib/math.in.h (cbrtf): New declaration.
+       * lib/cbrtf.c: New file.
+       * m4/cbrtf.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
+       HAVE_DECL_CBRTF.
+       * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
+       HAVE_DECL_CBRTF.
+       * modules/cbrtf: New file.
+       * tests/test-math-c++.cc: Check the declaration of cbrtf.
+       * doc/posix-functions/cbrtf.texi: Mention the new module.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       cbrt: Provide replacement on MSVC and Minix.
+       * lib/math.in.h (cbrt): New declaration.
+       * lib/cbrt.c: New file.
+       * m4/cbrt.m4: New file.
+       * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
+       (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
+       * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
+       * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
+       (Depends-on): Add dependencies.
+       (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
+       * tests/test-math-c++.cc: Check the declaration of cbrt.
+       * doc/posix-functions/cbrt.texi: Mention that the module provides a
+       replacement.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       hypotl-ieee: Work around test failure on OSF/1 and native Windows.
+       * m4/hypotl-ieee.m4: New file.
+       * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
+       test whether hypotl works with mixed NaN and Infinity arguments.
+       Replace it if not.
+       * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
+       * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
+       * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
+       (Depends-on): Update conditions.
+       * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
+       (Depends-on): Add hypot-ieee.
+       (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
+       * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
+
+       hypotf-ieee: Work around test failure on OSF/1 and native Windows.
+       * m4/hypotf-ieee.m4: New file.
+       * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
+       test whether hypotf works with mixed NaN and Infinity arguments.
+       Replace it if not.
+       * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
+       (Depends-on): Add hypot-ieee.
+       (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
+       * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
+
+       hypot-ieee: Work around test failure on OSF/1 and native Windows.
+       * lib/math.in.h (hypot): New declaration.
+       * lib/hypot.c: New file.
+       * m4/hypot-ieee.m4: New file.
+       * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
+       whether hypot works with mixed NaN and Infinity arguments. Replace it
+       if not.
+       * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
+       REPLACE_HYPOT.
+       * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
+       * modules/hypot (Files): Add lib/hypot.c.
+       (Depends-on): Add dependencies.
+       (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
+       * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
+       (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
+       * tests/test-math-c++.cc: Check the declaration of hypot.
+       * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
+
+       Tests for module 'hypotl-ieee'.
+       * modules/hypotl-ieee-tests: New file.
+       * tests/test-hypotl-ieee.c: New file.
+
+       New module 'hypotl-ieee'.
+       * modules/hypotl-ieee: New file.
+
+       Tests for module 'hypot-ieee'.
+       * modules/hypot-ieee-tests: New file.
+       * tests/test-hypot-ieee.c: New file.
+
+       New module 'hypot-ieee'.
+       * modules/hypot-ieee: New file.
+
+       Tests for module 'hypotf-ieee'.
+       * modules/hypotf-ieee-tests: New file.
+       * tests/test-hypotf-ieee.c: New file.
+       * tests/test-hypot-ieee.h: New file.
+
+       New module 'hypotf-ieee'.
+       * modules/hypotf-ieee: New file.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       Remove unused variables.
+       * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
+       * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
+       * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
+       * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
+
+2012-02-29  Eric Blake  <eblake@redhat.com>
+
+       termios: fix pid_t always, not just for tcgetsid
+       * doc/posix-headers/termios.texi (termios.h): Mention problem.
+       * lib/termios.in.h (include): Ensure pid_t on all platforms, not
+       just when building tcgetsid.
+
+2012-02-29  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'hypotl'.
+       * modules/hypotl-tests: New file.
+       * tests/test-hypotl.c: New file.
+
        New module 'hypotl'.
        * lib/math.in.h (hypotl): New declaration.
        * lib/hypotl.c: New file.