# cargf, carg, cargl

< c‎ | numeric‎ | complex

C
 Language headers Type support Dynamic memory management Error handling Program utilities Variadic function support Date and time utilities Strings library Algorithms Numerics Input/output support Localization support Thread support (C11) Atomic operations (C11) Technical Specifications

Complex number arithmetic
Types and the imaginary constant
Manipulation
 cimag creal carg
Power and exponential functions
Trigonometric functions
Hyperbolic functions

 Defined in header `` float       cargf( float complex z ); (1) (since C99) double      carg( double complex z ); (2) (since C99) long double cargl( long double complex z ); (3) (since C99) Defined in header `` #define carg( z ) (4) (since C99)
1-3) Computes the argument (also called phase angle) of `z`, with a branch cut along the negative real axis.
4) Type-generic macro: if `z` has type long double complex, long double imaginary, or long double, `cargl` is called. If `z` has type float complex, float imaginary, or float, `cargf` is called. If `z` has type double complex, double imaginary, double, or any integer type, `carg` is called.

### Parameters

 z - complex argument

### Return value

If no errors occur, returns the phase angle of `z` in the interval (−π; π).

Errors and special cases are handled as if the function is implemented as atan2(cimag(z), creal(z))

### Example

```#include <stdio.h>
#include <complex.h>

int main(void)
{
double complex z1 = 1.0+0.0*I;
printf("phase angle of %.1f%+.1fi is %f\n", creal(z1), cimag(z1), carg(z1));

double complex z2 = 0.0+1.0*I;
printf("phase angle of %.1f%+.1fi is %f\n", creal(z2), cimag(z2), carg(z2));

double complex z3 = -1.0+0.0*I;
printf("phase angle of %.1f%+.1fi is %f\n", creal(z3), cimag(z3), carg(z3));

double complex z4 = conj(z3); // or CMPLX(-1, -0.0)
printf("phase angle of %.1f%+.1fi (the other side of the cut) is %f\n",
creal(z4), cimag(z4), carg(z4));
}```

Output:

```phase angle of 1.0+0.0i is 0.000000
phase angle of 0.0+1.0i is 1.570796
phase angle of -1.0+0.0i is 3.141593
phase angle of -1.0-0.0i (the other side of the cut) is -3.141593```