### NAME

carg, cargf, cargl - calculate the argument

### SYNOPSIS

**#include <complex.h>**

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

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.

### SEE ALSO

### COLOPHON

This page is part of release 3.23 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/.