sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
authorBruno Haible <bruno@clisp.org>
Wed, 14 Mar 2012 00:51:10 +0000 (01:51 +0100)
committerBruno Haible <bruno@clisp.org>
Wed, 14 Mar 2012 00:51:26 +0000 (01:51 +0100)
commit7fd1d13152633fbfae103abb555d4aec6ec60273
tree634dc17ae9b1e249c077d44223159ae4cca5c1d3
parenta2c6cf038c0758e8825f2b020fbbcce9a0d4983f
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.
ChangeLog
doc/posix-functions/sqrtl.texi
lib/math.in.h
m4/math_h.m4
m4/sqrtl.m4
modules/math
modules/sqrtl
tests/test-sqrtl.c