Hash :
77e40838
Author :
Date :
2012-04-03T02:51:42
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.
Description:
logb() function: get exponent.
Files:
lib/logb.c
m4/logb.m4
m4/mathfunc.m4
Depends-on:
math
extensions
isfinite [test $HAVE_LOGB = 0 || test $REPLACE_LOGB = 1]
frexp [test $HAVE_LOGB = 0 || test $REPLACE_LOGB = 1]
isnand [test $HAVE_LOGB = 0 || test $REPLACE_LOGB = 1]
configure.ac:
gl_FUNC_LOGB
if test $HAVE_LOGB = 0 || test $REPLACE_LOGB = 1; then
AC_LIBOBJ([logb])
fi
gl_MATH_MODULE_INDICATOR([logb])
Makefile.am:
Include:
<math.h>
Link:
$(LOGB_LIBM)
License:
LGPL
Maintainer:
Bruno Haible