# clog man page

clog, clogf, clogl — natural logarithm of a complex number

## Synopsis

**#include <complex.h>**

**double complex clog(double complex** *z***);****float complex clogf(float complex** *z***);****long double complex clogl(long double complex** *z***);**

`Link with `

*-lm*.

## Description

These functions calculate the complex natural logarithm of *z*, with a branch cut along the negative real axis.

The logarithm **clog**() is the inverse function of the exponential cexp(3). Thus, if *y = clog(z)*, then *z = cexp(y)*. The imaginary part of *y* is chosen in the interval [-pi,pi].

One has:

clog(z) = log(cabs(z)) + I * carg(z)

Note that *z* close to zero will cause an overflow.

## Versions

These functions first appeared in glibc in version 2.1.

## Attributes

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

Interface | Attribute | Value |
---|---|---|

clog(), clogf(), clogl() | Thread safety | MT-Safe |

## Conforming to

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

## See Also

## Colophon

This page is part of release 4.16 of the Linux *man-pages* project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

## Referenced By

cacos(3), casin(3), catan(3), cexp(3), clog10(3), clog2(3), complex(7), log(3).

The man pages clogf(3) and clogl(3) are aliases of clog(3).