The next math function to be supported by gnulib is logb(), with its variants logbf(), logbl().
Notable bugs fixed: glibc, Solaris, and Cygwin 1.5.x return a wrong result when the argument is a denormalized number. 2012-04-03 Bruno Haible <br...@clisp.org> Tests for module 'logbl-ieee'. * modules/logbl-ieee-tests: New file. * tests/test-logbl-ieee.c: New file. New module 'logbl-ieee'. * modules/logbl-ieee: New file. Tests for module 'logb-ieee'. * modules/logb-ieee-tests: New file. * tests/test-logb-ieee.c: New file. New module 'logb-ieee'. * modules/logb-ieee: New file. Tests for module 'logbf-ieee'. * modules/logbf-ieee-tests: New file. * tests/test-logbf-ieee.c: New file. * tests/test-logb-ieee.h: New file. New module 'logbf-ieee'. * modules/logbf-ieee: New file. 2012-04-03 Bruno Haible <br...@clisp.org> Tests for module 'logbl'. * modules/logbl-tests: New file. * tests/test-logbl.c: New file. New module 'logbl'. * 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. 2012-04-02 Bruno Haible <br...@clisp.org> Tests for module 'logbf'. * modules/logbf-tests: New file. * tests/test-logbf.c: New file. New module 'logbf'. * 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. 2012-04-02 Bruno Haible <br...@clisp.org> logb tests: More tests. * tests/test-logb.h: New file, based on tests/test-logb.c and tests/test-frexp.h. * tests/test-logb.c: Include minus-zero.h, test-logb.h. (main): Just invoke test_function. * modules/logb-tests (Files): Add tests/test-logb.h, tests/minus-zero.h, tests/randomd.c. (Makefile.am): Add randomd.c to test_logb_SOURCES. logb: Provide replacement and workarounds. * 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.