diff options
Diffstat (limited to 'lib/msun/ld80/e_powl.c')
-rw-r--r-- | lib/msun/ld80/e_powl.c | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/lib/msun/ld80/e_powl.c b/lib/msun/ld80/e_powl.c index ea25354c2aa2..d04d77a5ee98 100644 --- a/lib/msun/ld80/e_powl.c +++ b/lib/msun/ld80/e_powl.c @@ -14,9 +14,6 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - #include <math.h> #include "math_private.h" @@ -26,10 +23,10 @@ __FBSDID("$FreeBSD$"); * P[0] x^n + P[1] x^(n-1) + ... + P[n] */ static inline long double -__polevll(long double x, long double *PP, int n) +__polevll(long double x, const long double *PP, int n) { long double y; - long double *P; + const long double *P; P = PP; y = *P++; @@ -45,10 +42,10 @@ __polevll(long double x, long double *PP, int n) * x^n + P[0] x^(n-1) + P[1] x^(n-2) + ... + P[n] */ static inline long double -__p1evll(long double x, long double *PP, int n) +__p1evll(long double x, const long double *PP, int n) { long double y; - long double *P; + const long double *P; P = PP; n -= 1; @@ -116,9 +113,6 @@ __p1evll(long double x, long double *PP, int n) * */ -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - #include <float.h> #include <math.h> @@ -132,13 +126,13 @@ __FBSDID("$FreeBSD$"); /* log(1+x) = x - .5x^2 + x^3 * P(z)/Q(z) * on the domain 2^(-1/32) - 1 <= x <= 2^(1/32) - 1 */ -static long double P[] = { +static const long double P[] = { 8.3319510773868690346226E-4L, 4.9000050881978028599627E-1L, 1.7500123722550302671919E0L, 1.4000100839971580279335E0L, }; -static long double Q[] = { +static const long double Q[] = { /* 1.0000000000000000000000E0L,*/ 5.2500282295834889175431E0L, 8.4000598057587009834666E0L, @@ -147,7 +141,7 @@ static long double Q[] = { /* A[i] = 2^(-i/32), rounded to IEEE long double precision. * If i is even, A[i] + B[i/2] gives additional accuracy. */ -static long double A[33] = { +static const long double A[33] = { 1.0000000000000000000000E0L, 9.7857206208770013448287E-1L, 9.5760328069857364691013E-1L, @@ -182,7 +176,7 @@ static long double A[33] = { 5.1094857432705833910408E-1L, 5.0000000000000000000000E-1L, }; -static long double B[17] = { +static const long double B[17] = { 0.0000000000000000000000E0L, 2.6176170809902549338711E-20L, -1.0126791927256478897086E-20L, @@ -205,7 +199,7 @@ static long double B[17] = { /* 2^x = 1 + x P(x), * on the interval -1/32 <= x <= 0 */ -static long double R[] = { +static const long double R[] = { 1.5089970579127659901157E-5L, 1.5402715328927013076125E-4L, 1.3333556028915671091390E-3L, @@ -236,13 +230,13 @@ static long double R[] = { static const long double MAXLOGL = 1.1356523406294143949492E4L; static const long double MINLOGL = -1.13994985314888605586758E4L; static const long double LOGE2L = 6.9314718055994530941723E-1L; -static volatile long double z; -static long double w, W, Wa, Wb, ya, yb, u; +static _Thread_local volatile long double z; +static _Thread_local long double w, W, Wa, Wb, ya, yb, u; static const long double huge = 0x1p10000L; #if 0 /* XXX Prevent gcc from erroneously constant folding this. */ static const long double twom10000 = 0x1p-10000L; #else -static volatile long double twom10000 = 0x1p-10000L; +static _Thread_local volatile long double twom10000 = 0x1p-10000L; #endif static long double reducl( long double ); |