projects
/
musl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8e09221
)
fix loads of missing const in new libm, and some global vars (?!) in powl
author
Rich Felker
<dalias@aerifal.cx>
Sun, 18 Mar 2012 05:58:28 +0000
(
01:58
-0400)
committer
Rich Felker
<dalias@aerifal.cx>
Sun, 18 Mar 2012 05:58:28 +0000
(
01:58
-0400)
20 files changed:
src/internal/libm.h
patch
|
blob
|
history
src/math/__polevll.c
patch
|
blob
|
history
src/math/acos.c
patch
|
blob
|
history
src/math/acosf.c
patch
|
blob
|
history
src/math/acosl.c
patch
|
blob
|
history
src/math/atan2.c
patch
|
blob
|
history
src/math/atan2f.c
patch
|
blob
|
history
src/math/atan2l.c
patch
|
blob
|
history
src/math/exp.c
patch
|
blob
|
history
src/math/exp2.c
patch
|
blob
|
history
src/math/exp2f.c
patch
|
blob
|
history
src/math/exp2l.c
patch
|
blob
|
history
src/math/expf.c
patch
|
blob
|
history
src/math/expl.c
patch
|
blob
|
history
src/math/log10l.c
patch
|
blob
|
history
src/math/log1pl.c
patch
|
blob
|
history
src/math/log2l.c
patch
|
blob
|
history
src/math/logl.c
patch
|
blob
|
history
src/math/powl.c
patch
|
blob
|
history
src/math/tgammal.c
patch
|
blob
|
history
diff --git
a/src/internal/libm.h
b/src/internal/libm.h
index
2c2191f
..
2092763
100644
(file)
--- a/
src/internal/libm.h
+++ b/
src/internal/libm.h
@@
-140,8
+140,8
@@
long double __cosl(long double, long double);
long double __tanl(long double, long double, int);
/* polynomial evaluation */
long double __tanl(long double, long double, int);
/* polynomial evaluation */
-long double __polevll(long double, long double *, int);
-long double __p1evll(long double, long double *, int);
+long double __polevll(long double,
const
long double *, int);
+long double __p1evll(long double,
const
long double *, int);
// FIXME: not needed when -fexcess-precision=standard is supported (>=gcc4.5)
/*
// FIXME: not needed when -fexcess-precision=standard is supported (>=gcc4.5)
/*
diff --git
a/src/math/__polevll.c
b/src/math/__polevll.c
index
08e68d4
..
a272865
100644
(file)
--- a/
src/math/__polevll.c
+++ b/
src/math/__polevll.c
@@
-60,7
+60,7
@@
* Polynomial evaluator:
* P[0] x^n + P[1] x^(n-1) + ... + P[n]
*/
* Polynomial evaluator:
* P[0] x^n + P[1] x^(n-1) + ... + P[n]
*/
-long double __polevll(long double x, long double *P, int n)
+long double __polevll(long double x,
const
long double *P, int n)
{
long double y;
{
long double y;
@@
-76,7
+76,7
@@
long double __polevll(long double x, long double *P, int n)
* Polynomial evaluator:
* x^n + P[0] x^(n-1) + P[1] x^(n-2) + ... + P[n]
*/
* Polynomial evaluator:
* x^n + P[0] x^(n-1) + P[1] x^(n-2) + ... + P[n]
*/
-long double __p1evll(long double x, long double *P, int n)
+long double __p1evll(long double x,
const
long double *P, int n)
{
long double y;
{
long double y;
diff --git
a/src/math/acos.c
b/src/math/acos.c
index
b97100e
..
456a221
100644
(file)
--- a/
src/math/acos.c
+++ b/
src/math/acos.c
@@
-39,7
+39,7
@@
static const double
one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */
pio2_hi = 1.57079632679489655800e+00; /* 0x3FF921FB, 0x54442D18 */
one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */
pio2_hi = 1.57079632679489655800e+00; /* 0x3FF921FB, 0x54442D18 */
-static volatile double
+static
const
volatile double
pio2_lo = 6.12323399573676603587e-17; /* 0x3C91A626, 0x33145C07 */
static const double
pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
pio2_lo = 6.12323399573676603587e-17; /* 0x3C91A626, 0x33145C07 */
static const double
pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
diff --git
a/src/math/acosf.c
b/src/math/acosf.c
index
b4665d0
..
945347c
100644
(file)
--- a/
src/math/acosf.c
+++ b/
src/math/acosf.c
@@
-19,7
+19,7
@@
static const float
one = 1.0000000000e+00, /* 0x3F800000 */
pi = 3.1415925026e+00, /* 0x40490fda */
pio2_hi = 1.5707962513e+00; /* 0x3fc90fda */
one = 1.0000000000e+00, /* 0x3F800000 */
pi = 3.1415925026e+00, /* 0x40490fda */
pio2_hi = 1.5707962513e+00; /* 0x3fc90fda */
-static volatile float
+static
const
volatile float
pio2_lo = 7.5497894159e-08; /* 0x33a22168 */
static const float
pS0 = 1.6666586697e-01,
pio2_lo = 7.5497894159e-08; /* 0x33a22168 */
static const float
pS0 = 1.6666586697e-01,
diff --git
a/src/math/acosl.c
b/src/math/acosl.c
index
21e6c95
..
510e16f
100644
(file)
--- a/
src/math/acosl.c
+++ b/
src/math/acosl.c
@@
-30,7
+30,7
@@
one = 1.00000000000000000000e+00;
// FIXME
//#ifdef __i386__
/* XXX Work around the fact that gcc truncates long double constants on i386 */
// FIXME
//#ifdef __i386__
/* XXX Work around the fact that gcc truncates long double constants on i386 */
-static volatile double
+static
const
volatile double
pi1 = 3.14159265358979311600e+00, /* 0x1.921fb54442d18p+1 */
pi2 = 1.22514845490862001043e-16; /* 0x1.1a80000000000p-53 */
#define pi ((long double)pi1 + pi2)
pi1 = 3.14159265358979311600e+00, /* 0x1.921fb54442d18p+1 */
pi2 = 1.22514845490862001043e-16; /* 0x1.1a80000000000p-53 */
#define pi ((long double)pi1 + pi2)
diff --git
a/src/math/atan2.c
b/src/math/atan2.c
index
3c35fbf
..
d928f0e
100644
(file)
--- a/
src/math/atan2.c
+++ b/
src/math/atan2.c
@@
-39,14
+39,14
@@
#include "libm.h"
#include "libm.h"
-static volatile double
+static
const
volatile double
tiny = 1.0e-300;
static const double
zero = 0.0,
pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */
pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */
pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */
tiny = 1.0e-300;
static const double
zero = 0.0,
pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */
pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */
pi = 3.1415926535897931160E+00; /* 0x400921FB, 0x54442D18 */
-static volatile double
+static
const
volatile double
pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
double atan2(double y, double x)
pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
double atan2(double y, double x)
diff --git
a/src/math/atan2f.c
b/src/math/atan2f.c
index
b6a7f92
..
19b134d
100644
(file)
--- a/
src/math/atan2f.c
+++ b/
src/math/atan2f.c
@@
-15,14
+15,14
@@
#include "libm.h"
#include "libm.h"
-static volatile float
+static
const
volatile float
tiny = 1.0e-30;
static const float
zero = 0.0,
pi_o_4 = 7.8539818525e-01, /* 0x3f490fdb */
pi_o_2 = 1.5707963705e+00, /* 0x3fc90fdb */
pi = 3.1415927410e+00; /* 0x40490fdb */
tiny = 1.0e-30;
static const float
zero = 0.0,
pi_o_4 = 7.8539818525e-01, /* 0x3f490fdb */
pi_o_2 = 1.5707963705e+00, /* 0x3fc90fdb */
pi = 3.1415927410e+00; /* 0x40490fdb */
-static volatile float
+static
const
volatile float
pi_lo = -8.7422776573e-08; /* 0xb3bbbd2e */
float atan2f(float y, float x)
pi_lo = -8.7422776573e-08; /* 0xb3bbbd2e */
float atan2f(float y, float x)
diff --git
a/src/math/atan2l.c
b/src/math/atan2l.c
index
64ec12e
..
d5a7a5a
100644
(file)
--- a/
src/math/atan2l.c
+++ b/
src/math/atan2l.c
@@
-24,12
+24,12
@@
long double atan2l(long double y, long double x)
}
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#include "__invtrigl.h"
}
#elif (LDBL_MANT_DIG == 64 || LDBL_MANT_DIG == 113) && LDBL_MAX_EXP == 16384
#include "__invtrigl.h"
-static volatile long double
+static
const
volatile long double
tiny = 1.0e-300;
static const long double
zero = 0.0;
/* XXX Work around the fact that gcc truncates long double constants on i386 */
tiny = 1.0e-300;
static const long double
zero = 0.0;
/* XXX Work around the fact that gcc truncates long double constants on i386 */
-static volatile double
+static
const
volatile double
pi1 = 3.14159265358979311600e+00, /* 0x1.921fb54442d18p+1 */
pi2 = 1.22514845490862001043e-16; /* 0x1.1a80000000000p-53 */
#define pi ((long double)pi1 + pi2)
pi1 = 3.14159265358979311600e+00, /* 0x1.921fb54442d18p+1 */
pi2 = 1.22514845490862001043e-16; /* 0x1.1a80000000000p-53 */
#define pi ((long double)pi1 + pi2)
diff --git
a/src/math/exp.c
b/src/math/exp.c
index
c1c9a63
..
a538b8c
100644
(file)
--- a/
src/math/exp.c
+++ b/
src/math/exp.c
@@
-90,7
+90,7
@@
P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
-static volatile double
+static
const
volatile double
twom1000 = 9.33263618503218878990e-302; /* 2**-1000=0x01700000,0 */
double exp(double x)
twom1000 = 9.33263618503218878990e-302; /* 2**-1000=0x01700000,0 */
double exp(double x)
diff --git
a/src/math/exp2.c
b/src/math/exp2.c
index
bf7421e
..
08c21a6
100644
(file)
--- a/
src/math/exp2.c
+++ b/
src/math/exp2.c
@@
-39,7
+39,7
@@
P3 = 0x1.c6b08d704a0a6p-5,
P4 = 0x1.3b2ab88f70400p-7,
P5 = 0x1.5d88003875c74p-10;
P4 = 0x1.3b2ab88f70400p-7,
P5 = 0x1.5d88003875c74p-10;
-static volatile double twom1000 = 0x1p-1000;
+static
const
volatile double twom1000 = 0x1p-1000;
static const double tbl[TBLSIZE * 2] = {
/* exp2(z + eps) eps */
static const double tbl[TBLSIZE * 2] = {
/* exp2(z + eps) eps */
diff --git
a/src/math/exp2f.c
b/src/math/exp2f.c
index
211d187
..
55c22ea
100644
(file)
--- a/
src/math/exp2f.c
+++ b/
src/math/exp2f.c
@@
-38,7
+38,7
@@
P2 = 0x1.ebfbe0p-3f,
P3 = 0x1.c6b348p-5f,
P4 = 0x1.3b2c9cp-7f;
P3 = 0x1.c6b348p-5f,
P4 = 0x1.3b2c9cp-7f;
-static volatile float twom100 = 0x1p-100f;
+static
const
volatile float twom100 = 0x1p-100f;
static const double exp2ft[TBLSIZE] = {
0x1.6a09e667f3bcdp-1,
static const double exp2ft[TBLSIZE] = {
0x1.6a09e667f3bcdp-1,
diff --git
a/src/math/exp2l.c
b/src/math/exp2l.c
index
ce085a7
..
b587308
100644
(file)
--- a/
src/math/exp2l.c
+++ b/
src/math/exp2l.c
@@
-42,7
+42,7
@@
long double exp2l(long double x)
static const long double huge = 0x1p10000L;
/* XXX Prevent gcc from erroneously constant folding this. */
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 const double
redux = 0x1.8p63 / TBLSIZE,
static const double
redux = 0x1.8p63 / TBLSIZE,
diff --git
a/src/math/expf.c
b/src/math/expf.c
index
8925a6f
..
f706ac5
100644
(file)
--- a/
src/math/expf.c
+++ b/
src/math/expf.c
@@
-33,7
+33,7
@@
invln2 = 1.4426950216e+00, /* 0x3fb8aa3b */
P1 = 1.6666625440e-1, /* 0xaaaa8f.0p-26 */
P2 = -2.7667332906e-3; /* -0xb55215.0p-32 */
P1 = 1.6666625440e-1, /* 0xaaaa8f.0p-26 */
P2 = -2.7667332906e-3; /* -0xb55215.0p-32 */
-static volatile float twom100 = 7.8886090522e-31; /* 2**-100=0x0d800000 */
+static
const
volatile float twom100 = 7.8886090522e-31; /* 2**-100=0x0d800000 */
float expf(float x)
{
float expf(float x)
{
diff --git
a/src/math/expl.c
b/src/math/expl.c
index
898cf1a
..
9507fd2
100644
(file)
--- a/
src/math/expl.c
+++ b/
src/math/expl.c
@@
-74,12
+74,12
@@
long double expl(long double x)
}
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
}
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
-static long double P[3] = {
+static
const
long double P[3] = {
1.2617719307481059087798E-4L,
3.0299440770744196129956E-2L,
9.9999999999999999991025E-1L,
};
1.2617719307481059087798E-4L,
3.0299440770744196129956E-2L,
9.9999999999999999991025E-1L,
};
-static long double Q[4] = {
+static
const
long double Q[4] = {
3.0019850513866445504159E-6L,
2.5244834034968410419224E-3L,
2.2726554820815502876593E-1L,
3.0019850513866445504159E-6L,
2.5244834034968410419224E-3L,
2.2726554820815502876593E-1L,
diff --git
a/src/math/log10l.c
b/src/math/log10l.c
index
3a85883
..
b954cc7
100644
(file)
--- a/
src/math/log10l.c
+++ b/
src/math/log10l.c
@@
-69,7
+69,7
@@
long double log10l(long double x)
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.2e-22
*/
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.2e-22
*/
-static long double P[] = {
+static
const
long double P[] = {
4.9962495940332550844739E-1L,
1.0767376367209449010438E1L,
7.7671073698359539859595E1L,
4.9962495940332550844739E-1L,
1.0767376367209449010438E1L,
7.7671073698359539859595E1L,
@@
-78,7
+78,7
@@
static long double P[] = {
3.4258224542413922935104E2L,
1.0747524399916215149070E2L,
};
3.4258224542413922935104E2L,
1.0747524399916215149070E2L,
};
-static long double Q[] = {
+static
const
long double Q[] = {
/* 1.0000000000000000000000E0,*/
2.3479774160285863271658E1L,
1.9444210022760132894510E2L,
/* 1.0000000000000000000000E0,*/
2.3479774160285863271658E1L,
1.9444210022760132894510E2L,
@@
-94,13
+94,13
@@
static long double Q[] = {
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.16e-22
*/
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.16e-22
*/
-static long double R[4] = {
+static
const
long double R[4] = {
1.9757429581415468984296E-3L,
-7.1990767473014147232598E-1L,
1.0777257190312272158094E1L,
-3.5717684488096787370998E1L,
};
1.9757429581415468984296E-3L,
-7.1990767473014147232598E-1L,
1.0777257190312272158094E1L,
-3.5717684488096787370998E1L,
};
-static long double S[4] = {
+static
const
long double S[4] = {
/* 1.00000000000000000000E0L,*/
-2.6201045551331104417768E1L,
1.9361891836232102174846E2L,
/* 1.00000000000000000000E0L,*/
-2.6201045551331104417768E1L,
1.9361891836232102174846E2L,
diff --git
a/src/math/log1pl.c
b/src/math/log1pl.c
index
7aafc5c
..
17eb4ce
100644
(file)
--- a/
src/math/log1pl.c
+++ b/
src/math/log1pl.c
@@
-65,7
+65,7
@@
long double log1pl(long double x)
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 2.32e-20
*/
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 2.32e-20
*/
-static long double P[] = {
+static
const
long double P[] = {
4.5270000862445199635215E-5L,
4.9854102823193375972212E-1L,
6.5787325942061044846969E0L,
4.5270000862445199635215E-5L,
4.9854102823193375972212E-1L,
6.5787325942061044846969E0L,
@@
-74,7
+74,7
@@
static long double P[] = {
5.7112963590585538103336E1L,
2.0039553499201281259648E1L,
};
5.7112963590585538103336E1L,
2.0039553499201281259648E1L,
};
-static long double Q[] = {
+static
const
long double Q[] = {
/* 1.0000000000000000000000E0,*/
1.5062909083469192043167E1L,
8.3047565967967209469434E1L,
/* 1.0000000000000000000000E0,*/
1.5062909083469192043167E1L,
8.3047565967967209469434E1L,
@@
-89,13
+89,13
@@
static long double Q[] = {
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.16e-22
*/
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.16e-22
*/
-static long double R[4] = {
+static
const
long double R[4] = {
1.9757429581415468984296E-3L,
-7.1990767473014147232598E-1L,
1.0777257190312272158094E1L,
-3.5717684488096787370998E1L,
};
1.9757429581415468984296E-3L,
-7.1990767473014147232598E-1L,
1.0777257190312272158094E1L,
-3.5717684488096787370998E1L,
};
-static long double S[4] = {
+static
const
long double S[4] = {
/* 1.00000000000000000000E0L,*/
-2.6201045551331104417768E1L,
1.9361891836232102174846E2L,
/* 1.00000000000000000000E0L,*/
-2.6201045551331104417768E1L,
1.9361891836232102174846E2L,
diff --git
a/src/math/log2l.c
b/src/math/log2l.c
index
cf08b0a
..
4339c03
100644
(file)
--- a/
src/math/log2l.c
+++ b/
src/math/log2l.c
@@
-69,7
+69,7
@@
long double log2l(long double x)
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.2e-22
*/
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.2e-22
*/
-static long double P[] = {
+static
const
long double P[] = {
4.9962495940332550844739E-1L,
1.0767376367209449010438E1L,
7.7671073698359539859595E1L,
4.9962495940332550844739E-1L,
1.0767376367209449010438E1L,
7.7671073698359539859595E1L,
@@
-78,7
+78,7
@@
static long double P[] = {
3.4258224542413922935104E2L,
1.0747524399916215149070E2L,
};
3.4258224542413922935104E2L,
1.0747524399916215149070E2L,
};
-static long double Q[] = {
+static
const
long double Q[] = {
/* 1.0000000000000000000000E0,*/
2.3479774160285863271658E1L,
1.9444210022760132894510E2L,
/* 1.0000000000000000000000E0,*/
2.3479774160285863271658E1L,
1.9444210022760132894510E2L,
@@
-94,13
+94,13
@@
static long double Q[] = {
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.16e-22
*/
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.16e-22
*/
-static long double R[4] = {
+static
const
long double R[4] = {
1.9757429581415468984296E-3L,
-7.1990767473014147232598E-1L,
1.0777257190312272158094E1L,
-3.5717684488096787370998E1L,
};
1.9757429581415468984296E-3L,
-7.1990767473014147232598E-1L,
1.0777257190312272158094E1L,
-3.5717684488096787370998E1L,
};
-static long double S[4] = {
+static
const
long double S[4] = {
/* 1.00000000000000000000E0L,*/
-2.6201045551331104417768E1L,
1.9361891836232102174846E2L,
/* 1.00000000000000000000E0L,*/
-2.6201045551331104417768E1L,
1.9361891836232102174846E2L,
diff --git
a/src/math/logl.c
b/src/math/logl.c
index
2139b2a
..
ee7ca64
100644
(file)
--- a/
src/math/logl.c
+++ b/
src/math/logl.c
@@
-69,7
+69,7
@@
long double logl(long double x)
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 2.32e-20
*/
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 2.32e-20
*/
-static long double P[] = {
+static
const
long double P[] = {
4.5270000862445199635215E-5L,
4.9854102823193375972212E-1L,
6.5787325942061044846969E0L,
4.5270000862445199635215E-5L,
4.9854102823193375972212E-1L,
6.5787325942061044846969E0L,
@@
-78,7
+78,7
@@
static long double P[] = {
5.7112963590585538103336E1L,
2.0039553499201281259648E1L,
};
5.7112963590585538103336E1L,
2.0039553499201281259648E1L,
};
-static long double Q[] = {
+static
const
long double Q[] = {
/* 1.0000000000000000000000E0,*/
1.5062909083469192043167E1L,
8.3047565967967209469434E1L,
/* 1.0000000000000000000000E0,*/
1.5062909083469192043167E1L,
8.3047565967967209469434E1L,
@@
-93,13
+93,13
@@
static long double Q[] = {
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.16e-22
*/
* 1/sqrt(2) <= x < sqrt(2)
* Theoretical peak relative error = 6.16e-22
*/
-static long double R[4] = {
+static
const
long double R[4] = {
1.9757429581415468984296E-3L,
-7.1990767473014147232598E-1L,
1.0777257190312272158094E1L,
-3.5717684488096787370998E1L,
};
1.9757429581415468984296E-3L,
-7.1990767473014147232598E-1L,
1.0777257190312272158094E1L,
-3.5717684488096787370998E1L,
};
-static long double S[4] = {
+static
const
long double S[4] = {
/* 1.00000000000000000000E0L,*/
-2.6201045551331104417768E1L,
1.9361891836232102174846E2L,
/* 1.00000000000000000000E0L,*/
-2.6201045551331104417768E1L,
1.9361891836232102174846E2L,
diff --git
a/src/math/powl.c
b/src/math/powl.c
index
690f294
..
a6ee275
100644
(file)
--- 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
*/
/* 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,
};
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,
/* 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.
*/
/* 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,
1.0000000000000000000000E0L,
9.7857206208770013448287E-1L,
9.5760328069857364691013E-1L,
@@
-134,7
+134,7
@@
static long double A[33] = {
5.1094857432705833910408E-1L,
5.0000000000000000000000E-1L,
};
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,
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
*/
/* 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,
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 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 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);
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;
/* 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;
if (y == 0.0L)
return 1.0L;
diff --git
a/src/math/tgammal.c
b/src/math/tgammal.c
index
e590550
..
1b8fdde
100644
(file)
--- a/
src/math/tgammal.c
+++ b/
src/math/tgammal.c
@@
-68,7
+68,7
@@
n=7, d=8
Peak error = 1.83e-20
Relative error spread = 8.4e-23
*/
Peak error = 1.83e-20
Relative error spread = 8.4e-23
*/
-static long double P[8] = {
+static
const
long double P[8] = {
4.212760487471622013093E-5L,
4.542931960608009155600E-4L,
4.092666828394035500949E-3L,
4.212760487471622013093E-5L,
4.542931960608009155600E-4L,
4.092666828394035500949E-3L,
@@
-78,7
+78,7
@@
static long double P[8] = {
8.378004301573126728826E-1L,
1.000000000000000000009E0L,
};
8.378004301573126728826E-1L,
1.000000000000000000009E0L,
};
-static long double Q[9] = {
+static
const
long double Q[9] = {
-1.397148517476170440917E-5L,
2.346584059160635244282E-4L,
-1.237799246653152231188E-3L,
-1.397148517476170440917E-5L,
2.346584059160635244282E-4L,
-1.237799246653152231188E-3L,
@@
-91,7
+91,7
@@
static long double Q[9] = {
};
/*
};
/*
-static long double P[] = {
+static
const
long double P[] = {
-3.01525602666895735709e0L,
-3.25157411956062339893e1L,
-2.92929976820724030353e2L,
-3.01525602666895735709e0L,
-3.25157411956062339893e1L,
-2.92929976820724030353e2L,
@@
-101,7
+101,7
@@
static long double P[] = {
-5.99650230220855581642e4L,
-7.15743521530849602425e4L
};
-5.99650230220855581642e4L,
-7.15743521530849602425e4L
};
-static long double Q[] = {
+static
const
long double Q[] = {
1.00000000000000000000e0L,
-1.67955233807178858919e1L,
8.85946791747759881659e1L,
1.00000000000000000000e0L,
-1.67955233807178858919e1L,
8.85946791747759881659e1L,
@@
-125,7
+125,7
@@
n=8, d=0
Peak error = 9.44e-21
Relative error spread = 8.8e-4
*/
Peak error = 9.44e-21
Relative error spread = 8.8e-4
*/
-static long double STIR[9] = {
+static
const
long double STIR[9] = {
7.147391378143610789273E-4L,
-2.363848809501759061727E-5L,
-5.950237554056330156018E-4L,
7.147391378143610789273E-4L,
-2.363848809501759061727E-5L,
-5.950237554056330156018E-4L,
@@
-145,7
+145,7
@@
static const long double SQTPI = 2.50662827463100050242E0L;
* 0 < x < 0.03125
* Peak relative error 4.2e-23
*/
* 0 < x < 0.03125
* Peak relative error 4.2e-23
*/
-static long double S[9] = {
+static
const
long double S[9] = {
-1.193945051381510095614E-3L,
7.220599478036909672331E-3L,
-9.622023360406271645744E-3L,
-1.193945051381510095614E-3L,
7.220599478036909672331E-3L,
-9.622023360406271645744E-3L,
@@
-163,7
+163,7
@@
static long double S[9] = {
* Peak relative error 5.16e-23
* Relative error spread = 2.5e-24
*/
* Peak relative error 5.16e-23
* Relative error spread = 2.5e-24
*/
-static long double SN[9] = {
+static
const
long double SN[9] = {
1.133374167243894382010E-3L,
7.220837261893170325704E-3L,
9.621911155035976733706E-3L,
1.133374167243894382010E-3L,
7.220837261893170325704E-3L,
9.621911155035976733706E-3L,