CARG(3) Library Functions Manual CARG(3)

carg cargf carglcomplex argument functions

#include <complex.h>

double carg(double complex z);
float cargf(float complex z);
long double cargl(long double complex z);

The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2024 defers to the ISO C standard.

These functions shall compute the argument (also called phase angle) of z, with a branch cut along the negative real axis.

These functions shall return the value of the argument in the interval [-ℼ, +ℼ].

If z is -0 ± i 0, ±ℼ shall be returned.

If z is +0 ± i 0, ±0 shall be returned.

If z is x ± i 0 where x is negative, ±ℼ shall be returned.

If z is x ± i 0 where x is positive, ±0 shall be returned.

If z is ±0 + iy where y is negative, -ℼ/2 shall be returned.

If z is ±0 + iy where y is positive, ℼ/2 shall be returned.

If z is -Inf ± iy where y is positive and finite, ±ℼ shall be returned.

If z is +Inf ± iy where y is positive and finite, ±0 shall be returned.

If z is x ± i Inf where x is finite, ±ℼ/2 shall be returned.

If z is -Inf ± i Inf, ±3ℼ/4 shall be returned.

If z is +Inf ± i Inf, ±ℼ/4 shall be returned.

If the real or imaginary part of z is NaN, NaN shall be returned.

No errors are defined.

None.

None.

None.

None.

cimag(3), conj(3), cproj(3)

XBD <complex.h>

First released in Issue 6. Derived from the ISO/IEC 9899:1999 (“ISO C99”) standard.

Austin Group Defect 1302 is applied, aligning these functions with the ISO/IEC 9899:2018 standard.

June 14, 2024 posix.fail