Hash :
7fd1d131
Author :
Date :
2012-03-14T01:51:10
sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC. * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1. * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro. (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces too big rounding errors. * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL. * modules/math (Makefile.am): Substitute REPLACE_SQRTL. * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL. (Depends-on): Update conditions. * tests/test-sqrtl.c (my_ldexpl): New function. (main): Add test of a particular value. * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
@node sqrtl
@section @code{sqrtl}
@findex sqrtl
POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/sqrtl.html}
Gnulib module: sqrtl
Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, HP-UX 11, IRIX 6.5, Solaris 9, Cygwin, Interix 3.5, BeOS.
@item
This function is only defined as a macro with arguments on some platforms:
MSVC 9.
@item
This function is not declared on some platforms:
MacOS X 10.3.
@item
This function produces very imprecise results on some platforms:
OpenBSD 5.1/SPARC.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@end itemize