aboutsummaryrefslogtreecommitdiff
path: root/lib/msun/ld80/e_powl.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/msun/ld80/e_powl.c')
-rw-r--r--lib/msun/ld80/e_powl.c30
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 );