计算y/x的反正切值,并将结果再除以π。
C interface:
float atan2pif(float y, float x);
double atan2pi(double y, double x);
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
x |
|
表示输入数据的浮点值。 |
输入 |
y |
|
表示输入数据的浮点值。 |
输入 |
输入值(y) |
输入值(x) |
输出值(result) |
---|---|---|
+0 |
+0 |
+0 |
+0 |
-0 |
+1 |
+0 |
inf |
+0 |
+0 |
-inf |
+1 |
+0 |
nan |
nan |
-0 |
+0 |
-0 |
-0 |
-0 |
-1 |
-0 |
inf |
-0 |
-0 |
-inf |
-1 |
-0 |
nan |
nan |
inf |
+0 |
0.5 |
inf |
-0 |
0.5 |
inf |
inf |
0.25 |
inf |
-inf |
0.75 |
inf |
nan |
nan |
-inf |
+0 |
-0.5 |
-inf |
-0 |
-0.5 |
-inf |
inf |
-0.25 |
-inf |
-inf |
-0.75 |
-inf |
nan |
nan |
nan |
+0 |
nan |
nan |
-0 |
nan |
nan |
inf |
nan |
nan |
-inf |
nan |
nan |
nan |
nan |
C: "km.h"
// typical usage float x1 = -1.0, x2 = 1.0, x3 = 0.5, x4 = -0.5; // special handling float a = 0.0, b = INFINITY, c = -INFINITY, d = NAN; // print result printf("atan2pi(1.0, 1.0) = %.15f\n", atan2pi(x1, x1)); printf("atan2pi(-1.0, -1.0) = %.15f\n", atan2pi(x2, x2)); printf("atan2pi(0.5, 0.5) = %.15f\n", atan2pi(x3, x3)); printf("atan2pi(-0.5, -0.5) = %.15f\n", atan2pi(x4, x4)); printf("atan2pi(0.0, 0.0) = %.15f\n", atan2pi(a, a)); printf("atan2pi(-0.0, -0.0) = %.15f\n", atan2pi(-a, -a)); printf("atan2pi(INFINITY, INFINITY) = %.15f\n", atan2pi(b, b)); printf("atan2pi(-INFINITY, -INFINITY) = %.15f\n", atan2pi(c, c)); printf("atan2pi(NAN, NAN) = %.15f\n", atan2pi(d, d)); /* * atan2pi(1.0, 1.0) = -0.750000000000000 * atan2pi(-1.0, -1.0) = 0.250000000000000 * atan2pi(0.5, 0.5) = 0.250000000000000 * atan2pi(-0.5, -0.5) = -0.750000000000000 * atan2pi(0.0, 0.0) = 0.000000000000000 * atan2pi(-0.0, -0.0) = -1.000000000000000 * atan2pi(INFINITY, INFINITY) = 0.250000000000000 * atan2pi(-INFINITY, -INFINITY) = -0.750000000000000 * atan2pi(NAN, NAN) = nan * * */