projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
NEWS.stable: update
[gnulib.git]
/
lib
/
atanl.c
diff --git
a/lib/atanl.c
b/lib/atanl.c
index
eca4177
..
88284a6
100644
(file)
--- a/
lib/atanl.c
+++ b/
lib/atanl.c
@@
-18,9
+18,21
@@
/* Specification. */
#include <math.h>
/* Specification. */
#include <math.h>
-/* s_atanl.c
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+long double
+atanl (long double x)
+{
+ return atan (x);
+}
+
+#else
+
+/* Code based on glibc/sysdeps/ieee754/ldbl-128/s_atanl.c. */
+
+/* s_atanl.c
*
*
- * Inverse circular tangent for 128-bit long double precision
+ *
Inverse circular tangent for 128-bit long double precision
* (arctangent)
*
*
* (arctangent)
*
*
@@
-62,8
+74,6
@@
*
*/
*
*/
-#include "isnanl.h"
-
/* arctan(k/8), k = 0, ..., 82 */
static const long double atantbl[84] = {
0.0000000000000000000000000000000000000000E0L,
/* arctan(k/8), k = 0, ..., 82 */
static const long double atantbl[84] = {
0.0000000000000000000000000000000000000000E0L,
@@
-187,9
+197,9
@@
atanl (long double x)
{
/* Infinity. */
if (sign)
{
/* Infinity. */
if (sign)
- return -atantbl[83];
+
return -atantbl[83];
else
else
- return atantbl[83];
+
return atantbl[83];
}
if (sign)
}
if (sign)
@@
-203,7
+213,7
@@
atanl (long double x)
else
{
/* Index of nearest table element.
else
{
/* Index of nearest table element.
- Roundoff to integer is asymmetrical to avoid cancellation when t < 0
+
Roundoff to integer is asymmetrical to avoid cancellation when t < 0
(cf. fdlibm). */
k = 8.0 * x + 0.25;
u = 0.125 * k;
(cf. fdlibm). */
k = 8.0 * x + 0.25;
u = 0.125 * k;
@@
-224,3
+234,5
@@
atanl (long double x)
else
return u;
}
else
return u;
}
+
+#endif