version 1.8, 1995/05/10 20:44:51 |
version 1.9, 1997/10/09 11:28:40 |
|
|
* ==================================================== |
* ==================================================== |
*/ |
*/ |
|
|
|
#include <sys/cdefs.h> |
#if defined(LIBM_SCCS) && !defined(lint) |
#if defined(LIBM_SCCS) && !defined(lint) |
static char rcsid[] = "$NetBSD$"; |
__RCSID("$NetBSD$"); |
#endif |
#endif |
|
|
/* __ieee754_atan2(y,x) |
/* __ieee754_atan2(y,x) |
Line 74 pi_lo = 1.2246467991473531772E-16; /* |
|
Line 75 pi_lo = 1.2246467991473531772E-16; /* |
|
if(((ix|((lx|-lx)>>31))>0x7ff00000)|| |
if(((ix|((lx|-lx)>>31))>0x7ff00000)|| |
((iy|((ly|-ly)>>31))>0x7ff00000)) /* x or y is NaN */ |
((iy|((ly|-ly)>>31))>0x7ff00000)) /* x or y is NaN */ |
return x+y; |
return x+y; |
if((hx-0x3ff00000|lx)==0) return atan(y); /* x=1.0 */ |
if((hx-(0x3ff00000|lx))==0) return atan(y); /* x=1.0 */ |
m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */ |
m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */ |
|
|
/* when y = 0 */ |
/* when y = 0 */ |