e_atan2.c (21673) | e_atan2.c (22808) |
---|---|
1/* @(#)e_atan2.c 5.1 93/09/24 */ 2/* 3 * ==================================================== 4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 5 * 6 * Developed at SunPro, a Sun Microsystems, Inc. business. 7 * Permission to use, copy, modify, and distribute this 8 * software is freely granted, provided that this notice 9 * is preserved. 10 * ==================================================== 11 */ 12 13#ifndef lint | 1/* @(#)e_atan2.c 5.1 93/09/24 */ 2/* 3 * ==================================================== 4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. 5 * 6 * Developed at SunPro, a Sun Microsystems, Inc. business. 7 * Permission to use, copy, modify, and distribute this 8 * software is freely granted, provided that this notice 9 * is preserved. 10 * ==================================================== 11 */ 12 13#ifndef lint |
14static char rcsid[] = "$FreeBSD: head/lib/msun/src/e_atan2.c 21673 1997-01-14 07:20:47Z jkh $"; | 14static char rcsid[] = "$FreeBSD: head/lib/msun/src/e_atan2.c 22808 1997-02-16 18:26:31Z bde $"; |
15#endif 16 17/* __ieee754_atan2(y,x) 18 * Method : 19 * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). 20 * 2. Reduce x to positive by (if x and y are unexceptional): 21 * ARG (x+iy) = arctan(y/x) ... if x > 0, 22 * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, --- 29 unchanged lines hidden (view full) --- 52tiny = 1.0e-300, 53zero = 0.0, 54pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ 55pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ 56pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */ 57pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ 58 59#ifdef __STDC__ | 15#endif 16 17/* __ieee754_atan2(y,x) 18 * Method : 19 * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x). 20 * 2. Reduce x to positive by (if x and y are unexceptional): 21 * ARG (x+iy) = arctan(y/x) ... if x > 0, 22 * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0, --- 29 unchanged lines hidden (view full) --- 52tiny = 1.0e-300, 53zero = 0.0, 54pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */ 55pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */ 56pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */ 57pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */ 58 59#ifdef __STDC__ |
60 double __ieee754_atan2(double y, double x) | 60 double __generic___ieee754_atan2(double y, double x) |
61#else | 61#else |
62 double __ieee754_atan2(y,x) | 62 double __generic___ieee754_atan2(y,x) |
63 double y,x; 64#endif 65{ 66 double z; 67 int32_t k,m,hx,hy,ix,iy; 68 u_int32_t lx,ly; 69 70 EXTRACT_WORDS(hx,lx,x); --- 60 unchanged lines hidden --- | 63 double y,x; 64#endif 65{ 66 double z; 67 int32_t k,m,hx,hy,ix,iy; 68 u_int32_t lx,ly; 69 70 EXTRACT_WORDS(hx,lx,x); --- 60 unchanged lines hidden --- |