view modules/strtold @ 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
children
line wrap: on
line source

Description:
strtold() function: convert string to 'long double'.

Files:
lib/strtold.c
lib/strtod.c
m4/strtold.m4
m4/math_h.m4
m4/ldexpl.m4

Depends-on:
stdlib
c-ctype         [test $HAVE_STRTOLD = 0 || test $REPLACE_STRTOLD = 1]
math            [test $HAVE_STRTOLD = 0 || test $REPLACE_STRTOLD = 1]
stdbool         [test $HAVE_STRTOLD = 0 || test $REPLACE_STRTOLD = 1]
strtod          [{ test $HAVE_STRTOLD = 0 || test $REPLACE_STRTOLD = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1]

configure.ac:
gl_FUNC_STRTOLD
if test $HAVE_STRTOLD = 0 || test $REPLACE_STRTOLD = 1; then
  AC_LIBOBJ([strtold])
  gl_PREREQ_STRTOLD
fi
gl_STDLIB_MODULE_INDICATOR([strtold])

Makefile.am:

Include:
<stdlib.h>

License:
LGPL

Maintainer:
all