rework langinfo code for ABI compat and for use by time code
[musl] / src / math / log10l.c
index 3a85883..f0eeeaf 100644 (file)
@@ -69,7 +69,7 @@ long double log10l(long double x)
  * 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,
@@ -78,7 +78,7 @@ static long double P[] = {
  3.4258224542413922935104E2L,
  1.0747524399916215149070E2L,
 };
-static long double Q[] = {
+static const long double Q[] = {
 /* 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
  */
-static long double R[4] = {
+static const long double R[4] = {
  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,
@@ -123,9 +123,9 @@ long double log10l(long double x)
 
        if (isnan(x))
                return x;
-       if(x <= 0.0L) {
-               if(x == 0.0L)
-                       return -1.0L / (x - x);
+       if(x <= 0.0) {
+               if(x == 0.0)
+                       return -1.0 / (x - x);
                return (x - x) / (x - x);
        }
        if (x == INFINITY)
@@ -142,12 +142,12 @@ long double log10l(long double x)
        if (e > 2 || e < -2) {
                if (x < SQRTH) {  /* 2(2x-1)/(2x+1) */
                        e -= 1;
-                       z = x - 0.5L;
-                       y = 0.5L * z + 0.5L;
+                       z = x - 0.5;
+                       y = 0.5 * z + 0.5;
                } else {  /*  2 (x-1)/(x+1)   */
-                       z = x - 0.5L;
-                       z -= 0.5L;
-                       y = 0.5L * x  + 0.5L;
+                       z = x - 0.5;
+                       z -= 0.5;
+                       y = 0.5 * x  + 0.5;
                }
                x = z / y;
                z = x*x;
@@ -158,13 +158,13 @@ long double log10l(long double x)
        /* logarithm using log(1+x) = x - .5x**2 + x**3 P(x)/Q(x) */
        if (x < SQRTH) {
                e -= 1;
-               x = ldexpl(x, 1) - 1.0L; /*  2x - 1  */
+               x = 2.0*x - 1.0;
        } else {
-               x = x - 1.0L;
+               x = x - 1.0;
        }
        z = x*x;
        y = x * (z * __polevll(x, P, 6) / __p1evll(x, Q, 7));
-       y = y - ldexpl(z, -1);   /* -0.5x^2 + ... */
+       y = y - 0.5*z;
 
 done:
        /* Multiply log of fraction by log10(e)