©
Ce document utiliseManuel du site Web PHP chinoisLibérer
|
在头文件 |
|
|
|---|---|---|
|
float cprojf( float complex z ); |
(1) |
(since C99) |
|
double cproj( double complex z ); |
(2) |
(since C99) |
|
long double cprojl( long double complex z ); |
(3) |
(since C99) |
|
Defined in header |
|
|
|
#define cproj( z ) |
(4) |
(since C99) |
1-3)计算z黎曼球上的投影。
4)式泛型宏:如果z具有类型longdoublecomplex,longdoubleimaginary或long double,cprojl被调用。如果z有类型floatcomplex,floatimaginary或者float,cprojf被调用。如果z有类型doublecomplex,doubleimaginary,double,或任何整数类型,cproj被调用。
对于大多数情况z,cproj(z)==z但所有复杂的无穷大,即使是一个分量无穷大而另一个是NaN的数字,也会变成正实的无穷大,INFINITY+0.0*I或者INFINITY-0.0*I。虚数(零)分量的符号是符号cimag(z)。
|
z |
- |
复杂的论点 |
|---|
的投影z上的黎曼球体。
该函数完全为所有可能的输入指定,并且不受math_errhandling中描述的任何错误的影响。
该cproj函数通过将所有无穷大映射到一个(给出或取出虚构零点的符号)来帮助对黎曼球体进行建模,并且应该在任何操作之前使用,特别是比较,这可能会给任何其他无穷大造成虚假结果。
#include#include #include int main(void){ double complex z1 = cproj(1 + 2*I); printf("cproj(1+2i) = %.1f%+.1fi\n", creal(z1),cimag(z1)); double complex z2 = cproj(INFINITY+2.0*I); printf("cproj(Inf+2i) = %.1f%+.1fi\n", creal(z2),cimag(z2)); double complex z3 = cproj(INFINITY-2.0*I); printf("cproj(Inf-2i) = %.1f%+.1fi\n", creal(z3),cimag(z3));}
输出:
cproj(1+2i) = 1.0+2.0icproj(Inf+2i) = inf+0.0icproj(Inf-2i) = inf-0.0i
C11标准(ISO / IEC 9899:2011):
7.3.9.5 cproj函数(p:198)
7.25类型通用数学
G.7类型 - 通用数学
C99标准(ISO / IEC 9899:1999):
7.3.9.4 cproj函数(p:179)
7.22类型通用数学
G.7类型 - 通用数学