返回复数极坐标形式的角度值。
C interface:
float cargf(float complex x);
double carg(double complex x);
long double cargl(long double complex x);
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
x |
|
表示输入数据的浮点值。 |
输入 |
输入值实部(real) |
输入值虚部(imag) |
输出值(y) |
---|---|---|
+0 |
+0 |
+0 |
+0 |
-0 |
-0 |
+0 |
inf |
pi/2 |
+0 |
-inf |
-pi/2 |
+0 |
snan |
nan |
+0 |
-snan |
nan |
+0 |
qnan |
nan |
+0 |
-qnan |
nan |
-0 |
+0 |
pi |
-0 |
-0 |
-pi |
-0 |
inf |
pi/2 |
-0 |
-inf |
-pi/2 |
-0 |
snan |
nan |
-0 |
-snan |
nan |
-0 |
qnan |
nan |
-0 |
-qnan |
nan |
inf |
+0 |
+0 |
inf |
-0 |
-0 |
inf |
inf |
pi/4 |
inf |
-inf |
-pi/4 |
inf |
snan |
nan |
inf |
-snan |
nan |
inf |
qnan |
nan |
inf |
-qnan |
nan |
-inf |
+0 |
pi |
-inf |
-0 |
-pi |
-inf |
inf |
3*pi/4 |
-inf |
-inf |
-3*pi/4 |
-inf |
snan |
nan |
-inf |
-snan |
nan |
-inf |
qnan |
nan |
-inf |
-qnan |
nan |
snan |
+0 |
nan |
snan |
-0 |
nan |
snan |
inf |
nan |
snan |
-inf |
nan |
snan |
snan |
nan |
snan |
-snan |
nan |
snan |
qnan |
nan |
snan |
-qnan |
nan |
-snan |
+0 |
nan |
-snan |
-0 |
nan |
-snan |
inf |
nan |
-snan |
-inf |
nan |
-snan |
snan |
nan |
-snan |
-snan |
nan |
-snan |
qnan |
nan |
-snan |
-qnan |
nan |
qnan |
+0 |
nan |
qnan |
-0 |
nan |
qnan |
inf |
nan |
qnan |
-inf |
nan |
qnan |
snan |
nan |
qnan |
-snan |
nan |
qnan |
qnan |
nan |
qnan |
-qnan |
nan |
-qnan |
+0 |
nan |
-qnan |
-0 |
nan |
-qnan |
inf |
nan |
-qnan |
-inf |
nan |
-qnan |
snan |
nan |
-qnan |
-snan |
nan |
-qnan |
qnan |
nan |
-qnan |
-qnan |
nan |
C: "km.h"
// typical usage double x1 = INFINITY, y1 = INFINITY; double x2 = -INFINITY, y2 = 0; double x3 = 0, y3 = -INFINITY; double x4 = NAN, y4 = NAN; double x5 = 0, y5 = 0; // print result printf("/*\n"); printf(" * carg(%.2f + %.2f*I) = %.6f\n", x1, y1, carg(__builtin_complex(x1, y1))); printf(" * carg(%.2f + %.2f*I) = %.6f\n", x2, y2, carg(__builtin_complex(x2, y2))); printf(" * carg(%.2f + %.2f*I) = %.6f\n", x3, y3, carg(__builtin_complex(x3, y3))); printf(" * carg(%.2f + %.2f*I) = %.6f\n", x4, y4, carg(__builtin_complex(x4, y4))); printf(" * carg(%.2f + %.2f*I) = %.6f\n", x5, y5, carg(__builtin_complex(x5, y5))); /* * carg(inf + inf*I) = 0.785398 * carg(-inf + 0.00*I) = 3.141593 * carg(0.00 + -inf*I) = -1.570796 * carg(nan + nan*I) = nan * carg(0.00 + 0.00*I) = 0.000000 **/