about summary refs log tree commit diff
path: root/src/math/powl.c
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-03-18 01:58:28 -0400
committerRich Felker <dalias@aerifal.cx>2012-03-18 01:58:28 -0400
commit9e2a895aaaa4a3985e94ae4f3e24c1af65f9bb34 (patch)
treeed1d3bc96b974c3a19a808d15cae7386f8cf27d1 /src/math/powl.c
parent8e092217dd92ad3e95257255602c711b3304e38f (diff)
downloadmusl-9e2a895aaaa4a3985e94ae4f3e24c1af65f9bb34.tar.gz
musl-9e2a895aaaa4a3985e94ae4f3e24c1af65f9bb34.tar.xz
musl-9e2a895aaaa4a3985e94ae4f3e24c1af65f9bb34.zip
fix loads of missing const in new libm, and some global vars (?!) in powl
Diffstat (limited to 'src/math/powl.c')
-rw-r--r--src/math/powl.c16
1 files changed, 8 insertions, 8 deletions
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;