X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=ac139515ae33753db8914624ec36f0c449472d2b;hb=aa42b5455c7a66de3882ba5870fee8abeb379498;hp=0aaba6c5b8a78bd6d834662a7252990ee388a808;hpb=a02b7a276ab4a2adb0e950deebefe1744fa995fc;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 0aaba6c5b..ac139515a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,981 @@ +2012-03-08 Bruno Haible + + exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5. + * 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. + + Tests for module 'exp2l-ieee'. + * modules/exp2l-ieee-tests: New file. + * tests/test-exp2l-ieee.c: New file. + + New module 'exp2l-ieee'. + * modules/exp2l-ieee: New file. + + Tests for module 'exp2-ieee'. + * modules/exp2-ieee-tests: New file. + * tests/test-exp2-ieee.c: New file. + + New module 'exp2-ieee'. + * modules/exp2-ieee: New file. + + Tests for module 'exp2f-ieee'. + * modules/exp2f-ieee-tests: New file. + * tests/test-exp2f-ieee.c: New file. + * tests/test-exp2-ieee.h: New file. + + New module 'exp2f-ieee'. + * modules/exp2f-ieee: New file. + +2012-03-08 Bruno Haible + + Tests for module 'exp2l'. + * modules/exp2l-tests: New file. + * tests/test-exp2l.c: New file. + + New module 'exp2l'. + * 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. + +2012-03-08 Bruno Haible + + Tests for module 'exp2f'. + * modules/exp2f-tests: New file. + * tests/test-exp2f.c: New file. + + New module 'exp2f'. + * 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. + +2012-03-08 Bruno Haible + + Tests for module 'exp2'. + * modules/exp2-tests: New file. + * tests/test-exp2.c: New file. + * tests/test-exp2.h: New file. + + New module 'exp2'. + * 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. + +2012-03-08 Paul Eggert + + savedir: fix comment typo + * lib/savedir.c (savedirstream): Fix typo in comment. + +2012-03-08 Bruno Haible + + test-readtokens.c: use const; remove unwarranted cast + * tests/test-readtokens.c: Declare delim to be const, to avoid a cast. + +2012-03-08 Bruno Haible + + fmal: Avoid compilation error on AIX. + * lib/math.in.h (fmal): Undefine macro before declaration. Needed on + AIX 5.2..7.1. + +2012-03-08 Bruno Haible + + fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5. + * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared, + arrange to set REPLACE_FMA=1, not HAVE_FMA=0. + * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared, + arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0. + * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared, + arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0. + +2012-03-08 Bruno Haible + + remainderf: Override buggy system function on IRIX 6.5. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro. + (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared + when it exists. + * doc/posix-functions/remainderf.texi: Mention the IRIX problems. + +2012-03-08 Jim Meyering + + test-readtokens.c: avoid const-related compilation warnings + * tests/test-readtokens.c: Avoid const-related compilation warnings. + +2012-03-07 Jim Meyering + Bruno Haible + + frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03. + * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h, + tests/randomd.c. + (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES. + * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h, + tests/randoml.c. + (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES. + +2012-03-07 Bruno Haible + + expm1l: Avoid compilation error on AIX. + * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on + AIX 5.2..7.1. + +2012-03-07 Bruno Haible + + expm1l: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L. + * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when + it exists. Set HAVE_DECL_EXPM1L. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not + HAVE_EXPM1L. + * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not + HAVE_EXPM1L. + * doc/posix-functions/expm1l.texi: Mention missing declaration problem. + +2012-03-07 Bruno Haible + + remainderl: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not + HAVE_REMAINDERL. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is + declared when it exists. Set HAVE_DECL_REMAINDERL. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL, + not HAVE_REMAINDERL. + * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not + HAVE_REMAINDERL. + * doc/posix-functions/remainderl.texi: Mention missing declaration + problem. + +2012-03-07 Bruno Haible + + rintf: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF. + * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it + exists. Set HAVE_DECL_RINTF. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not + HAVE_RINTF. + * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not + HAVE_RINTF. + * doc/posix-functions/rintf.texi: Mention missing declaration problem. + +2012-03-07 Bruno Haible + + roundl: Avoid compilation error on AIX. + * lib/math.in.h (roundl): Undefine macro before declaration. Needed on + AIX 5.2..7.1. + +2012-03-07 Bruno Haible + + roundl: Don't override undeclared system function on IRIX 6.5. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries + also when it is not declared. Set HAVE_ROUNDL. For replacement code, + test HAVE_ROUNDL, not HAVE_DECL_ROUNDL. + * modules/roundl (configure.ac): For replacement code, test + HAVE_ROUNDL, not HAVE_DECL_ROUNDL. + (Depends-on): Update conditions. + * doc/posix-functions/roundl.texi: Mention the IRIX problem. + +2012-03-07 Bruno Haible + + roundf: Don't override undeclared system function on IRIX 6.5. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries + also when it is not declared. Set HAVE_ROUNDF. For replacement code, + test HAVE_ROUNDF, not HAVE_DECL_ROUNDF. + * modules/roundf (configure.ac): For replacement code, test + HAVE_ROUNDF, not HAVE_DECL_ROUNDF. + (Depends-on): Update conditions. + * modules/roundf-ieee (Depends-on): Update conditions. + * doc/posix-functions/roundf.texi: Mention the IRIX problem. + +2012-03-07 Bruno Haible + + round: Don't override undeclared system function on IRIX 6.5. + * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third + argument. + * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries + also when it is not declared. Set HAVE_ROUND. For replacement code, + test HAVE_ROUND, not HAVE_DECL_ROUND. + * modules/round (configure.ac): For replacement code, test HAVE_ROUND, + not HAVE_DECL_ROUND. + (Depends-on): Update conditions. + * modules/round-ieee (Depends-on): Update conditions. + * doc/posix-functions/round.texi: Mention the IRIX problem. + +2012-03-07 Bruno Haible + + copysignf: Don't override undeclared system function on IRIX 6.5. + * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not + HAVE_COPYSIGNF. + * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is + declared when it exists. Set HAVE_DECL_COPYSIGNF. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF, + not HAVE_COPYSIGNF. + * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not + HAVE_COPYSIGNF. + * doc/posix-functions/copysignf.texi: Mention missing declaration + problem. + +2012-03-07 Jim Meyering + + readtokens: add tests + * modules/readtokens-tests: New file. + * tests/test-readtokens.c: New file. + +2012-03-07 Jim Meyering + + quotearg: the module must now include quote.h + With commit v0.0-7133-g6417476, quotearg.c includes "quote.h". + So must the module. + * modules/quotearg (Files): Add quote.h. + +2012-03-06 Paul Eggert + + readtokens: avoid core dumps with unusual calling patterns + Reported by Xu Zhongxing in . + * lib/readtokens.c: Include limits.h. + (word, bits_per_word, get_nth_bit, set_nth_bit): New. + (readtoken): Don't cache the delimiters; the cache code was buggy + if !delim && saved_delim, or if the new n_delim differs from the old. + Also, it wasn't thread-safe. + +2012-03-07 Bruno Haible + + quote: Adhere to common module description layout. + * modules/quote (Makefile.am): Add back empty section. + +2012-03-06 Akim Demaille + + quote: fuse into quotearg + This patch is made for the benefit of Bison. + quote does not leave the choice of the quoting style to the user. + quoting_style provides poor customizability, yet quoting_options, + which is very rich, is hidden inside quotearg.c. So in order to + allow quote customization, move its implementation to quotearg.c. + * lib/quote.c: Remove. + * modules/quote: Adjust. + * lib/quotearg.c (quoting_options_from_style): Fix a compiler + warning: provide all the members of literal structs. + (quote_quoting_options): New. + (quote, quote_n): Import implementation from quote.c. + * lib/quote.h: Import the comments from quote.c. + (quote_quoting_options): New. + +2012-03-06 Bruno Haible + + Tests for module 'expm1l-ieee'. + * modules/expm1l-ieee-tests: New file. + * tests/test-expm1l-ieee.c: New file. + + New module 'expm1l-ieee'. + * modules/expm1l-ieee: New file. + + Tests for module 'expm1f-ieee'. + * modules/expm1f-ieee-tests: New file. + * tests/test-expm1f-ieee.c: New file. + + New module 'expm1f-ieee'. + * modules/expm1f-ieee: New file. + + Tests for module 'expm1-ieee'. + * modules/expm1-ieee-tests: New file. + * tests/test-expm1-ieee.c: New file. + * tests/test-expm1-ieee.h: New file. + + New module 'expm1-ieee'. + * modules/expm1-ieee: New file. + * m4/expm1-ieee.m4: New file. + * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test + whether expm1 works with a minus zero argument. Replace it if not. + * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1. + * modules/math (Makefile.am): Substitute REPLACE_EXPM1. + * modules/expm1 (configure.ac): Consider REPLACE_EXPM1. + (Depends-on): Update conditions. + * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the + AIX problem. + +2012-03-06 Bruno Haible + + Work around expm1f bug on IRIX 6.5. + * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1. + * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro. + (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does + not work. + * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F. + * modules/math (Makefile.am): Substitute REPLACE_EXPM1F. + * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F. + (Depends-on): Update conditions. + * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug. + +2012-03-06 Bruno Haible + + Tests for module 'expm1l'. + * modules/expm1l-tests: New file. + * tests/test-expm1l.c: New file. + + New module 'expm1l'. + * lib/math.in.h (expm1l): New declaration. + * lib/expm1l.c: New file. + * m4/expm1l.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L. + * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L. + * modules/expm1l: New file. + * tests/test-math-c++.cc: Check the declaration of expm1l. + * doc/posix-functions/expm1l.texi: Mention the new module. + +2012-03-06 Bruno Haible + + Tests for module 'expm1f'. + * modules/expm1f-tests: New file. + * tests/test-expm1f.c: New file. + + New module 'expm1f'. + * lib/math.in.h (expm1f): New declaration. + * lib/expm1f.c: New file. + * m4/expm1f.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F. + * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F. + * modules/expm1f: New file. + * tests/test-math-c++.cc: Check the declaration of expm1f. + * doc/posix-functions/expm1f.texi: Mention the new module. + +2012-03-06 Bruno Haible + + Tests for module 'expm1'. + * modules/expm1-tests: New file. + * tests/test-expm1.c: New file. + * tests/test-expm1.h: New file. + + New module 'expm1'. + * lib/math.in.h (expm1): New declaration. + * lib/expm1.c: New file. + * m4/expm1.m4: New file. + * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared. + (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1. + * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1. + * modules/expm1: New file. + * tests/test-math-c++.cc: Check the declaration of expm1. + * doc/posix-functions/expm1.texi: Mention the new module. + +2012-03-06 Bruno Haible + + math: Ensure declarations of math functions. + * modules/acosf (Depends-on): Add 'extensions'. + * modules/asinf (Depends-on): Likewise. + * modules/atan2f (Depends-on): Likewise. + * modules/atanf (Depends-on): Likewise. + * modules/cbrt (Depends-on): Likewise. + * modules/cbrtf (Depends-on): Likewise. + * modules/cbrtl (Depends-on): Likewise. + * modules/copysignf (Depends-on): Likewise. + * modules/copysignl (Depends-on): Likewise. + * modules/cosf (Depends-on): Likewise. + * modules/coshf (Depends-on): Likewise. + * modules/expf (Depends-on): Likewise. + * modules/fabsf (Depends-on): Likewise. + * modules/fabsl (Depends-on): Likewise. + * modules/fmaf (Depends-on): Likewise. + * modules/fmal (Depends-on): Likewise. + * modules/fmodf (Depends-on): Likewise. + * modules/fmodl (Depends-on): Likewise. + * modules/frexpf (Depends-on): Likewise. + * modules/frexpl (Depends-on): Likewise. + * modules/hypot (Depends-on): Likewise. + * modules/hypotf (Depends-on): Likewise. + * modules/hypotl (Depends-on): Likewise. + * modules/ldexpf (Depends-on): Likewise. + * modules/ldexpl (Depends-on): Likewise. + * modules/log10f (Depends-on): Likewise. + * modules/log10l (Depends-on): Likewise. + * modules/log1p (Depends-on): Likewise. + * modules/logb (Depends-on): Likewise. + * modules/logf (Depends-on): Likewise. + * modules/modff (Depends-on): Likewise. + * modules/modfl (Depends-on): Likewise. + * modules/powf (Depends-on): Likewise. + * modules/remainderf (Depends-on): Likewise. + * modules/remainderl (Depends-on): Likewise. + * modules/rintf (Depends-on): Likewise. + * modules/rintl (Depends-on): Likewise. + * modules/sinf (Depends-on): Likewise. + * modules/sinhf (Depends-on): Likewise. + * modules/sqrtf (Depends-on): Likewise. + * modules/tanf (Depends-on): Likewise. + * modules/tanhf (Depends-on): Likewise. + * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS. + * m4/asinf.m4 (gl_FUNC_ASINF): Likewise. + * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise. + * m4/atanf.m4 (gl_FUNC_ATANF): Likewise. + * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise. + * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise. + * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise. + * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise. + * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise. + * m4/cosf.m4 (gl_FUNC_COSF): Likewise. + * m4/coshf.m4 (gl_FUNC_COSHF): Likewise. + * m4/expf.m4 (gl_FUNC_EXPF): Likewise. + * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise. + * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise. + * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise. + * m4/fmal.m4 (gl_FUNC_FMAL): Likewise. + * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise. + * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise. + * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise. + * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise. + * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise. + * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise. + * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise. + * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise. + * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise. + * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise. + * m4/logb.m4 (gl_FUNC_LOGB): Likewise. + * m4/logf.m4 (gl_FUNC_LOGF): Likewise. + * m4/modff.m4 (gl_FUNC_MODFF): Likewise. + * m4/modfl.m4 (gl_FUNC_MODFL): Likewise. + * m4/powf.m4 (gl_FUNC_POWF): Likewise. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise. + * m4/rintf.m4 (gl_FUNC_RINTF): Likewise. + * m4/rintl.m4 (gl_FUNC_RINTL): Likewise. + * m4/sinf.m4 (gl_FUNC_SINF): Likewise. + * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise. + * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise. + * m4/tanf.m4 (gl_FUNC_TANF): Likewise. + * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise. + +2012-03-06 Bruno Haible + + math: Update module names in warnings. + * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, + tanl): Use specific module name in warn-on-use warning. + +2012-03-06 Bruno Haible + + expl: Simplify computation. + * lib/expl.c (expl): Simplify computation of exp_y. Fix comment. + +2012-03-05 Bruno Haible + + exp* tests: More tests. + * tests/test-exp.h: New file. + * tests/test-exp.c: Include and test-exp.h. + (main): Invoke test_function. + * tests/test-expf.c: Include and test-exp.h. + (main): Invoke test_function. + * tests/test-expl.c: Include and test-exp.h. + (main): Invoke test_function. + * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_exp_SOURCES. + * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_expf_SOURCES. + * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_expl_SOURCES. + + expl: Fix precision of computed result. + * lib/expl.c: Completely rewritten. + * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl. + (Maintainer): Add me. + * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM. + +2012-03-05 Bruno Haible + + cbrt* tests: More tests. + * tests/test-cbrt.h: New file. + * tests/test-cbrt.c: Include and test-cbrt.h. + (main): Invoke test_function. + * tests/test-cbrtf.c: Include and test-cbrt.h. + (main): Invoke test_function. + * tests/test-cbrtl.c: Include and test-cbrt.h. + (main): Invoke test_function. + * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_cbrt_SOURCES. + * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_cbrtf_SOURCES. + * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_cbrtl_SOURCES. + +2012-03-05 Bruno Haible + + hypot* tests: More tests. + * tests/test-hypot.h: New file, partially extracted from + tests/test-hypotl.c. + * tests/test-hypot.c: Include test-hypot.h. + (main): Invoke test_function. + * tests/test-hypotf.c: Include test-hypot.h. + (main): Invoke test_function. + * tests/test-hypotl.c: Include fpucw.h and test-hypot.h. + (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function. + * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_hypot_SOURCES. + * modules/hypotf-tests (Files): Add tests/test-hypot.h, + tests/randomf.c. + (Makefile.am): Add randomf.c to test_hypotf_SOURCES. + * modules/hypotl-tests (Files): Add tests/test-hypot.h, + tests/randoml.c. + (Depends-on): Add 'fpucw', 'float'. + (Makefile.am): Add randoml.c to test_hypotl_SOURCES. + +2012-03-05 Bruno Haible + + fpucw: Doc about FreeBSD. + * lib/fpucw.h: Mention FreeBSD in comments. + +2012-03-04 Bruno Haible + + sqrt* tests: More tests. + * tests/test-sqrt.h: New file. + * tests/test-sqrt.c: Include and test-sqrt.h. + (main): Invoke test_function. + * tests/test-sqrtf.c: Include and test-sqrt.h. + (main): Invoke test_function. + * tests/test-sqrtl.c: Include and test-sqrt.h. + (main): Invoke test_function. + * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c. + (Makefile.am): Add randomd.c to test_sqrt_SOURCES. + * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c. + (Makefile.am): Add randomf.c to test_sqrtf_SOURCES. + * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_sqrtl_SOURCES. + +2012-03-04 Bruno Haible + + remainder* tests: More tests. + * tests/test-remainder.h: New file, based on tests/test-fmod.h. + * tests/test-remainder.c: Include and test-remainder.h. + (main): Invoke test_function. + * tests/test-remainderf.c: Include and test-remainder.h. + (main): Invoke test_function. + * tests/test-remainderl.c: Include and test-remainder.h. + (main): Invoke test_function. + * modules/remainder-tests (Files): Add tests/test-remainder.h, + tests/randomd.c. + (Makefile.am): Add randomd.c to test_remainder_SOURCES. + * modules/remainderf-tests (Files): Add tests/test-remainder.h, + tests/randomf.c. + (Makefile.am): Add randomf.c to test_remainderf_SOURCES. + * modules/remainderl-tests (Files): Add tests/test-remainder.h, + tests/randoml.c. + (Depends-on): Add 'float'. + (Makefile.am): Add randoml.c to test_remainderl_SOURCES. + +2012-03-04 Bruno Haible + + remainder, remainderf, remainderl: Fix computation for large quotients. + * lib/remainder.c: Completely rewritten. + * lib/remainderf.c (remainderf): Use implementation of remainder.c with + USE_FLOAT. + * lib/remainderl.c (remainderl): Use implementation of remainder.c with + USE_LONG_DOUBLE. + * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod, + isnand, isinf. Remove round, fma. + * modules/remainderf (Files): Add lib/remainder.c. + (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf. + Remove roundf, fmaf. + * modules/remainderl (Files): Add lib/remainder.c. + (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl, + isinf. Remove roundl, fmal. + * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of + REMAINDER_LIBM. + * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of + REMAINDERF_LIBM. + * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of + REMAINDERL_LIBM. + +2012-03-04 Bruno Haible + + 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 + + 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 + + fmod* tests: More tests. + * tests/test-fmod.h: New file. + * tests/test-fmod.c: Include and test-fmod.h. + (main): Invoke test_function. + * tests/test-fmodf.c: Include and test-fmod.h. + (main): Invoke test_function. + * tests/test-fmodl.c: Include 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 + + 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 + + modf* tests: More tests. + * tests/test-modf.h: New file. + * tests/test-modf.c: Include and test-modf.h. + (main): Invoke test_function. + * tests/test-modff.c: Include and test-modf.h. + (main): Invoke test_function. + * tests/test-modfl.c: Include 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + maint.mk: allow announcement for non-gnulib project + * maint.mk (announcement): Skip gnulib version if not used. + +2012-03-01 Jim Meyering + + 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 + + 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 + + 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 + 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 + + 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 + + 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 + + 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 + + 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 + + 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.