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);