ISO C99 also defines functions that perform basic operations on complex numbers, such as decomposition and conjugation. The prototypes for all these functions are in complex.h. All functions are available in three variants, one for each of the three complex types.
— Function: complex float conjf (complex float z)
— Function: float cargf (complex float z)
— Function: long double cargl (complex long double z)
These functions return the argument of the complex number z. The argument of a complex number is the angle in the complex plane between the positive real axis and a line passing through zero and the number. This angle is measured in the usual fashion and ranges from -π to π.
carghas a branch cut along the negative real axis.
— Function: complex float cprojf (complex float z)
— Function: complex long double cprojl (complex long double z)
These functions return the projection of the complex value z onto the Riemann sphere. Values with a infinite imaginary part are projected to positive infinity on the real axis, even if the real part is NaN. If the real part is infinite, the result is equivalent toINFINITY + I * copysign (0.0, cimag (z))