# carg(3) — Linux manual page

```CARG(3)                 Linux Programmer's Manual                CARG(3)
```

## NAME         top

```       carg, cargf, cargl - calculate the complex argument
```

## SYNOPSIS         top

```       #include <complex.h>

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

```

## DESCRIPTION         top

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

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         top

```       The return value is in the range of [-pi,pi].
```

## VERSIONS         top

```       These functions first appeared in glibc in version 2.1.
```

## ATTRIBUTES         top

```       For an explanation of the terms used in this section, see
attributes(7).

┌──────────────────────────────────────┬───────────────┬─────────┐
│Interface                             │ Attribute     │ Value   │
├──────────────────────────────────────┼───────────────┼─────────┤
│carg(), cargf(), cargl()              │ Thread safety │ MT-Safe │
└──────────────────────────────────────┴───────────────┴─────────┘
```

## CONFORMING TO         top

```       C99, POSIX.1-2001, POSIX.1-2008.
```

```       cabs(3), complex(7)
```

## COLOPHON         top

```       This page is part of release 5.13 of the Linux man-pages project.
A description of the project, information about reporting bugs,