Print this page

        

@@ -109,19 +109,19 @@
 t12     =  1.588300018848323824227640064883334101288e-0005L,
 t13     =  6.916271223396808311166202285131722231723e-0006L;
 /* INDENT ON */
 long double
 __k_tanl(long double x, long double y, int k) {
-        long double a, t, z, w, s, c;
+        long double a, t, z, w = 0.0, s, c;
         int *pt = (int *) &t, *px = (int *) &x;
         int i, j, hx, ix;
 
         t = 1.0;
-#if defined(_BIG_ENDIAN)
-        hx = px[0];
-#else
+#if defined(__i386) || defined(__amd64)
         XTOI(px, hx);
+#else
+        hx = px[0];
 #endif
         ix = hx & 0x7fffffff;
         if (ix < 0x3ffc4000) {
                 if (ix < 0x3fc60000) {
                         if ((i = (int) x) == 0) /* generate inexact */

@@ -140,14 +140,14 @@
                 }
                 return (k == 0 ? w : -one / w);
         }
         j = (ix + 0x400) & 0x7ffff800;
         i = (j - 0x3ffc4000) >> 11;
-#if defined(_BIG_ENDIAN)
-        pt[0] = j;
-#else
+#if defined(__i386) || defined(__amd64)
         ITOX(j, pt);
+#else
+        pt[0] = j;
 #endif
         if (hx > 0)
                 x = y - (t - x);
         else
                 x = (-y) - (t + x);