X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fatanl.c;h=4d09c2f2050c4f770b22336ceb1014a84d160fb0;hb=676fc6f6594c7b81d26b22226514a512ca0f4bc3;hp=3f8bda4c62391452acf9c48dd54ae8569510d943;hpb=55eed6bbc87934f2db04981e6f0f1773ff77974f;p=gnulib.git diff --git a/lib/atanl.c b/lib/atanl.c index 3f8bda4c6..4d09c2f20 100644 --- a/lib/atanl.c +++ b/lib/atanl.c @@ -1,9 +1,9 @@ /* Copyright 2001 by Stephen L. Moshier - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -11,18 +11,26 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; see the file COPYING. - If not, write to the Free Software Foundation, - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ #include /* Specification. */ #include -/* s_atanl.c +#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE + +long double +atanl (long double x) +{ + return atan (x); +} + +#else + +/* s_atanl.c * - * Inverse circular tangent for 128-bit long double precision + * Inverse circular tangent for 128-bit long double precision * (arctangent) * * @@ -64,8 +72,6 @@ * */ -#include "isnanl.h" - /* arctan(k/8), k = 0, ..., 82 */ static const long double atantbl[84] = { 0.0000000000000000000000000000000000000000E0L, @@ -189,9 +195,9 @@ atanl (long double x) { /* Infinity. */ if (sign) - return -atantbl[83]; + return -atantbl[83]; else - return atantbl[83]; + return atantbl[83]; } if (sign) @@ -205,7 +211,7 @@ atanl (long double x) 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; @@ -226,3 +232,5 @@ atanl (long double x) else return u; } + +#endif