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


#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.


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.


These functions first appeared in glibc in version 2.1.


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

cabs(3), cexp(3), clog10(3), clog2(3), complex(7)


This page is part of release 5.04 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

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).

2017-09-15 Linux Programmer's Manual