34 #endif
35
36 extern const double __vlibm_TBL_atan1[];
37
38 static const double
39 pio4 = 7.8539816339744827900e-01,
40 pio2 = 1.5707963267948965580e+00,
41 pi = 3.1415926535897931160e+00;
42
43 static const float
44 zero = 0.0f,
45 one = 1.0f,
46 q1 = -3.3333333333296428046e-01f,
47 q2 = 1.9999999186853752618e-01f,
48 twop24 = 16777216.0f;
49
50 void
51 __vatan2f( int n, float * restrict y, int stridey, float * restrict x,
52 int stridex, float * restrict z, int stridez )
53 {
54 float x0, x1, x2, y0, y1, y2, *pz0, *pz1, *pz2;
55 double ah0, ah1, ah2;
56 double t0, t1, t2;
57 double sx0, sx1, sx2;
58 double sign0, sign1, sign2;
59 int i, k0, k1, k2, hx, sx, sy;
60 int hy0, hy1, hy2;
61 float base0, base1, base2;
62 double num0, num1, num2;
63 double den0, den1, den2;
64 double dx0, dx1, dx2;
65 double dy0, dy1, dy2;
66 double db0, db1, db2;
67
68 do
69 {
70 loop0:
71 hy0 = *(int*)y;
72 hx = *(int*)x;
73 sign0 = one;
74 sy = hy0 & 0x80000000;
75 hy0 &= ~0x80000000;
76
77 sx = hx & 0x80000000;
78 hx &= ~0x80000000;
79
80 if ( hy0 > hx )
81 {
|
34 #endif
35
36 extern const double __vlibm_TBL_atan1[];
37
38 static const double
39 pio4 = 7.8539816339744827900e-01,
40 pio2 = 1.5707963267948965580e+00,
41 pi = 3.1415926535897931160e+00;
42
43 static const float
44 zero = 0.0f,
45 one = 1.0f,
46 q1 = -3.3333333333296428046e-01f,
47 q2 = 1.9999999186853752618e-01f,
48 twop24 = 16777216.0f;
49
50 void
51 __vatan2f( int n, float * restrict y, int stridey, float * restrict x,
52 int stridex, float * restrict z, int stridez )
53 {
54 float x0, x1, x2, y0, y1, y2, *pz0 = 0, *pz1, *pz2;
55 double ah0, ah1, ah2;
56 double t0, t1, t2;
57 double sx0, sx1, sx2;
58 double sign0, sign1, sign2;
59 int i, k0 = 0, k1, k2, hx, sx, sy;
60 int hy0, hy1, hy2;
61 float base0 = 0.0, base1, base2;
62 double num0, num1, num2;
63 double den0, den1, den2;
64 double dx0, dx1, dx2;
65 double dy0, dy1, dy2;
66 double db0, db1, db2;
67
68 do
69 {
70 loop0:
71 hy0 = *(int*)y;
72 hx = *(int*)x;
73 sign0 = one;
74 sy = hy0 & 0x80000000;
75 hy0 &= ~0x80000000;
76
77 sx = hx & 0x80000000;
78 hx &= ~0x80000000;
79
80 if ( hy0 > hx )
81 {
|