31 if (x >= 1.0F)
return 90.0F;
32 if (x <= -1.0F)
return -90.0F;
36 return (
fatan_deg(x / sqrtf(1.0F - x * x)));
46 if (x >= 1.0F)
return 0.0F;
47 if (x <= -1.0F)
return 180.0F;
51 if (x == 0.0F)
return 90.0F;
52 if (x > 0.0F)
return fatan_deg((sqrtf(1.0F - x * x) / x));
53 return 180.0F +
fatan_deg((sqrtf(1.0F - x * x) / x));
65 #define TAN15DEG 0.26794919243F // tan(15 deg) = 2 - sqrt(3) 66 #define TAN30DEG 0.57735026919F // tan(30 deg) = 1/sqrt(3) 68 ixisnegative = ixexceeds1 = ixmapped = 0;
99 if (ixmapped) fangledeg += 30.0F;
100 if (ixexceeds1) fangledeg = 90.0F - fangledeg;
101 if (ixisnegative) fangledeg = -fangledeg;
115 if (y > 0.0F)
return 90.0F;
118 if (y < 0.0F)
return -90.0F;
129 if ((x < 0.0F) && (y > 0.0F))
return (180.0F +
fatan_deg(y / x));
142 #define PADE_A 96.644395816F // theoretical Pade[3/2] value is 5/3*180/PI=95.49296 143 #define PADE_B 25.086941612F // theoretical Pade[3/2] value is 4/9*180/PI=25.46479 144 #define PADE_C 1.6867633134F // theoretical Pade[3/2] value is 5/3=1.66667
Math approximations file.
float fatan_15deg(float x)
float fatan2_deg(float y, float x)