From 9e2a895aaaa4a3985e94ae4f3e24c1af65f9bb34 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 18 Mar 2012 01:58:28 -0400 Subject: fix loads of missing const in new libm, and some global vars (?!) in powl --- src/math/powl.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/math/powl.c') diff --git a/src/math/powl.c b/src/math/powl.c index 690f2942..a6ee275f 100644 --- a/src/math/powl.c +++ b/src/math/powl.c @@ -84,13 +84,13 @@ long double powl(long double x, long double y) /* 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, @@ -99,7 +99,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, @@ -134,7 +134,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, @@ -157,7 +157,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, @@ -188,11 +188,9 @@ 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 const long double huge = 0x1p10000L; /* XXX Prevent gcc from erroneously constant folding this. */ -static volatile long double twom10000 = 0x1p-10000L; +static const volatile long double twom10000 = 0x1p-10000L; static long double reducl(long double); static long double powil(long double, int); @@ -202,6 +200,8 @@ long double powl(long double x, long double y) /* double F, Fa, Fb, G, Ga, Gb, H, Ha, Hb */ int i, nflg, iyflg, yoddint; long e; + volatile long double z=0; + long double w=0, W=0, Wa=0, Wb=0, ya=0, yb=0, u=0; if (y == 0.0L) return 1.0L; -- cgit v1.2.1