Print this page
*** 70,98 ****
long double
sinl(long double x) {
long double y[2], z = 0.0L;
int n, ix;
! #if defined(_LITTLE_ENDIAN)
int *px = (int *) &x;
#endif
/* sin(Inf or NaN) is NaN */
if (!finitel(x))
return x - x;
/* High word of x. */
! #if defined(_BIG_ENDIAN)
! ix = *(int *) &x;
! #else
XTOI(px, ix);
#endif
/* |x| ~< pi/4 */
ix &= 0x7fffffff;
! if (ix <= 0x3ffe9220) {
return __k_sinl(x, z);
- }
/* argument reduction needed */
else {
n = __rem_pio2l(x, y);
switch (n & 3) {
--- 70,97 ----
long double
sinl(long double x) {
long double y[2], z = 0.0L;
int n, ix;
! #if defined(__i386) || defined(__amd64)
int *px = (int *) &x;
#endif
/* sin(Inf or NaN) is NaN */
if (!finitel(x))
return x - x;
/* High word of x. */
! #if defined(__i386) || defined(__amd64)
XTOI(px, ix);
+ #else
+ ix = *(int *) &x;
#endif
/* |x| ~< pi/4 */
ix &= 0x7fffffff;
! if (ix <= 0x3ffe9220)
return __k_sinl(x, z);
/* argument reduction needed */
else {
n = __rem_pio2l(x, y);
switch (n & 3) {