Paul Eggert wrote: > The name should be something like "ceil-ieee-fp", no?
I went for 'ceil-ieee'. Here's the changes that I pushed (in chronological order): Tests for module 'floor'. * modules/floor-tests: New file. * tests/test-floor1.c: New file, based on tests/test-floorl.c. * tests/test-floor2.c: New file, based on tests/test-floorf2.c. Tests for module 'ceil'. * modules/ceil-tests: New file. * tests/test-ceil1.c: New file, based on tests/test-ceill.c. * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c. Support for minus zero in autoconf macros. * m4/minus-zero.m4: New file, based on tests/minus-zero.h. * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE, gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros. * tests/minus-zero.h: Update comments. New module 'floorf-ieee'. * modules/floorf-ieee: New file. * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used, test whether floorf works according to ISO C 99 with IEC 60559. * m4/floorf-ieee.m4: New file. * modules/floorf-ieee-tests: New file. * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c. * tests/test-floorf1.c (main): Remove signbit tests. * modules/floorf-tests (Depends-on): Remove 'signbit'. * doc/posix-functions/floorf.texi: Mention the new module. New module 'ceilf-ieee'. * modules/ceilf-ieee: New file. * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used, test whether ceilf works according to ISO C 99 with IEC 60559. * m4/ceilf-ieee.m4: New file. * modules/ceilf-ieee-tests: New file. * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c. * tests/test-ceilf1.c (main): Remove signbit tests. * modules/ceilf-tests (Depends-on): Remove 'signbit'. * doc/posix-functions/ceilf.texi: Mention the new module. New module 'truncf-ieee'. * modules/truncf-ieee: New file. * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used, test whether truncf works according to ISO C 99 with IEC 60559. * m4/truncf-ieee.m4: New file. * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF. * modules/math (Makefile.am): Substitute REPLACE_TRUNCF. * modules/truncf-ieee-tests: New file. * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c. * tests/test-truncf1.c (main): Remove signbit tests. * modules/truncf-tests (Depends-on): Remove 'signbit'. * doc/posix-functions/truncf.texi: Mention the new module. New module 'roundf-ieee'. * modules/roundf-ieee: New file. * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used, test whether roundf works according to ISO C 99 with IEC 60559. * m4/roundf-ieee.m4: New file. * modules/roundf-ieee-tests: New file. * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c. * tests/test-roundf1.c (main): Remove signbit tests. * modules/roundf-tests (Depends-on): Remove 'signbit'. * doc/posix-functions/roundf.texi: Mention the new module. New module 'floor-ieee'. * modules/floor-ieee: New file. * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to ISO C 99 with IEC 60559. * m4/floor-ieee.m4: New file. * modules/floor (Files): Add lib/floor.c. (Depends-on): Add 'float'. (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. * lib/math.in.h (floor): New declaration. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR, REPLACE_FLOOR. * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR. * modules/floor-ieee-tests: New file. * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c. * tests/test-math-c++.cc: Check the signature of 'floor'. * doc/posix-functions/floor.texi: Mention the new module. New module 'ceil-ieee'. * modules/ceil-ieee: New file. * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to ISO C 99 with IEC 60559. * m4/ceil-ieee.m4: New file. * modules/ceil (Files): Add lib/ceil.c. (Depends-on): Add 'float'. (configure.ac): Invoke gl_MATH_MODULE_INDICATOR. * lib/math.in.h (ceil): New declaration. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL, REPLACE_CEIL. * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL. * modules/ceil-ieee-tests: New file. * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c. * tests/test-math-c++.cc: Check the signature of 'ceil'. * doc/posix-functions/ceil.texi: Mention the new module. New module 'trunc-ieee'. * modules/trunc-ieee: New file. * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test whether trunc works according to ISO C 99 with IEC 60559. * m4/trunc-ieee.m4: New file. * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC. * modules/math (Makefile.am): Substitute REPLACE_TRUNC. * modules/trunc-ieee-tests: New file. * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c. * tests/test-trunc1.c (main): Remove signbit tests. * modules/trunc-tests (Depends-on): Remove 'signbit'. * doc/posix-functions/trunc.texi: Mention the new module. New module 'round-ieee'. * modules/round-ieee: New file. * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test whether round works according to ISO C 99 with IEC 60559. * m4/round-ieee.m4: New file. * modules/round-ieee-tests: New file. * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c. * tests/test-round1.c (main): Remove signbit tests. * modules/round-tests (Depends-on): Remove 'signbit'. * doc/posix-functions/round.texi: Mention the new module. New module 'floorl-ieee'. * modules/floorl-ieee: New file. * modules/floorl-ieee-tests: New file. * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c. * tests/test-floorl.c (main): Remove signbit tests. * modules/floorl-tests (Depends-on): Remove signbit. * doc/posix-functions/floorl.texi: Mention the new module. New module 'ceill-ieee'. * modules/ceill-ieee: New file. * modules/ceill-ieee-tests: New file. * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c. * tests/test-ceill.c (main): Remove signbit tests. * modules/ceill-tests (Depends-on): Remove signbit. * doc/posix-functions/ceill.texi: Mention the new module. New module 'truncl-ieee'. * modules/truncl-ieee: New file. * modules/truncl-ieee-tests: New file. * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c. * tests/test-truncl.c (main): Remove signbit tests. * modules/truncl-tests (Depends-on): Remove signbit. * doc/posix-functions/truncl.texi: Mention the new module. New module 'roundl-ieee'. * modules/roundl-ieee: New file. * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used, test whether roundl works according to ISO C 99 with IEC 60559. * m4/roundl-ieee.m4: New file. * modules/roundl-ieee-tests: New file. * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c. * tests/test-roundl.c (main): Remove signbit tests. * modules/roundl-tests (Depends-on): Remove signbit. * doc/posix-functions/roundl.texi: Mention the new module.