view modules/printf-frexpl @ 40166:cdb3438ceb13

strtold: New module. * lib/stdlib.in.h (strtold): New declaration. * lib/strtold.c: New file. * lib/strtod.c: Consider USE_LONG_DOUBLE. (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_, USE_LDEXP): New macros. (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for USE_LONG_DOUBLE. (underlying_strtod): Remove function. Replace with some macros. Re-add the code for a missing underlying function that was removed on 2013-02-19. * m4/strtold.m4: New file. * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared. (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD, REPLACE_STRTOLD. * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD, REPLACE_STRTOLD. * modules/strtold: New file. * doc/posix-functions/strtold.texi: Document the new module.
author Bruno Haible <bruno@clisp.org>
date Wed, 30 Jan 2019 03:52:31 +0100
parents 32db4d32dbf9
children
line wrap: on
line source

Description:
printf_frexpl() function: split a long double into fraction and mantissa,
for hexadecimal printf, without requiring libm.

Files:
lib/printf-frexpl.h
lib/printf-frexpl.c
lib/printf-frexp.c
m4/printf-frexpl.m4
m4/frexpl.m4
m4/ldexpl.m4

Depends-on:
printf-frexp    [test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1]
float           [test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
math            [test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
fpucw           [test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]

configure.ac:
gl_FUNC_PRINTF_FREXPL

Makefile.am:
lib_SOURCES += printf-frexpl.c

Include:
"printf-frexpl.h"

License:
LGPLv2+

Maintainer:
all