clog(), clogf(), clogl()

Compute the complex natural (base-e) 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 );

Arguments:

z
The complex value that you want to compute the complex natural logarithm of.

Library:

libm

Use the -l m option to qcc to link against this library.

Description:

These functions compute the complex natural (base-e) logarithm of the complex number specified by z with a branch cut along the negative real axis. The natural logarithm of a complex number z with polar coordinate components (r,θ) equals ln r + i(θ+2nπ), with the principal value ln r + iθ.

To check for error situations, use feclearexcept() and fetestexcept():

Returns:

If no errors occur, the complex natural logarithm of z, in the range of a strip in the interval [−iπ, +iπ] along the imaginary axis and mathematically unbounded along the real axis.

If z is: These functions return:
-0+0i -+πi and FE_DIVBYZERO is raised
+0+0i -+0i and FE_DIVBYZERO is raised
x+i (for any finite x) ++πi/2
x+NaNi (for any finite x) NaN+NaNi and FE_INVALID may be raised
-+yi (for any finite positive y) -+πi
++yi (for any finite positive y) -+0i
-+i ++3πi/4
++i ++πi/4
±+NaNi ++NaNi
NaN+yi (for any finite y) NaN+NaNi and FE_INVALID may be raised
NaN+i ++NaNi
NaN+NaNi NaN+NaNi

Classification:

ANSI, POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes