Print this page
5262 libm needs to be carefully unifdef'd
5268 libm doesn't need to hide symbols which are already local

*** 34,44 **** one = 1.0, huge = 1.0e300, tiny = 1.0e-300, twom54 = 5.5511151231257827021181583404541015625e-17; ! #if defined(USE_FPSCALE) || defined(__x86) static const double two52 = 4503599627370496.0; #else /* * Normalize non-zero subnormal x and return biased exponent of x in [-51,0] */ --- 34,44 ---- one = 1.0, huge = 1.0e300, tiny = 1.0e-300, twom54 = 5.5511151231257827021181583404541015625e-17; ! #if defined(__x86) static const double two52 = 4503599627370496.0; #else /* * Normalize non-zero subnormal x and return biased exponent of x in [-51,0] */
*** 68,78 **** } px[HIWORD] = (px[HIWORD] & 0x80000000) | v; px[LOWORD] = w; return (1 - s); } ! #endif /* defined(USE_FPSCALE) */ double scalbn(double x, int n) { int *px, ix, hx, k; --- 68,78 ---- } px[HIWORD] = (px[HIWORD] & 0x80000000) | v; px[LOWORD] = w; return (1 - s); } ! #endif /* defined(__x86) */ double scalbn(double x, int n) { int *px, ix, hx, k;
*** 85,95 **** return (x * one); if (k == 0) { if ((hx | px[LOWORD]) == 0 || n == 0) return (x); ! #if defined(USE_FPSCALE) || defined(__x86) x *= two52; ix = px[HIWORD]; k = ((ix & ~0x80000000) >> 20) - 52; #else k = ilogb_biased((unsigned *)px); --- 85,95 ---- return (x * one); if (k == 0) { if ((hx | px[LOWORD]) == 0 || n == 0) return (x); ! #if defined(__x86) x *= two52; ix = px[HIWORD]; k = ((ix & ~0x80000000) >> 20) - 52; #else k = ilogb_biased((unsigned *)px);