view modules/expl @ 40112:cccb8f07c744

expl: Work around inaccurate implementation on NetBSD. * lib/math.in.h (expl): Test also REPLACE_EXPL. * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set REPLACE_EXPL. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL. * modules/math (Makefile.in): Substitute REPLACE_EXPL. * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL. * doc/posix-functions/expl.texi: Mention the NetBSD bug.
author Bruno Haible <bruno@clisp.org>
date Sun, 20 Jan 2019 22:04:01 +0100
parents 1f14c6dd175d
children
line wrap: on
line source

Description:
expl() function: exponential function with long double argument.

Files:
lib/expl.c
lib/expl-table.c
m4/expl.m4

Depends-on:
math
extensions
exp             [{ test $HAVE_EXPL = 0 || test $REPLACE_EXPL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1]
float           [{ test $HAVE_EXPL = 0 || test $REPLACE_EXPL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
isnanl          [{ test $HAVE_EXPL = 0 || test $REPLACE_EXPL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
roundl          [{ test $HAVE_EXPL = 0 || test $REPLACE_EXPL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]
ldexpl          [{ test $HAVE_EXPL = 0 || test $REPLACE_EXPL = 1; } && test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 0]

configure.ac:
gl_FUNC_EXPL
if test $HAVE_EXPL = 0 || test $REPLACE_EXPL = 1; then
  AC_LIBOBJ([expl])
  AC_LIBOBJ([expl-table])
fi
gl_MATH_MODULE_INDICATOR([expl])

Makefile.am:

Include:
<math.h>

Link:
$(EXPL_LIBM)

License:
LGPL

Maintainer:
all