## Name

carg, cargf, cargl — calculate the complex argument

## Synopsis

```#include <complex.h>
```
 ```double carg(``` double complex z`)`;

 ```float cargf(``` float complex z`)`;

 ```long double cargl(``` long double complex z`)`;

Note Link with `−lm`.

## DESCRIPTION

A complex number can be described by two real coordinates. One may use rectangular coordinates and gets

```    z = x + I * y
```

where x = creal(z) and y = cimag(z).

Or one may use polar coordinates and gets

```    z = r * cexp(I * a)
```

where r = cabs(z) is the "radius", the "modulus", the absolute value of `z`, and a = carg(z) is the "phase angle", the argument of `z`.

One has:

```    tan(carg(z)) = cimag(z) / creal(z)
```

## RETURN VALUE

The return value is the range of [−pi,pi].

## VERSIONS

These functions first appeared in glibc in version 2.1.

## CONFORMING TO

C99.

This page is part of release 3.52 of the Linux `man-pages` project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man−pages/.