clog, clogf, clogl — complex natural logarithm functions
#include <complex.h>
double complex clog(double complex z);
float complex clogf(float complex z);
long double complex clogl(long double complex z);
[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2024 defers to the ISO C standard.These functions shall compute the complex natural (base e) logarithm of z, with a branch cut along the negative real axis.
These functions shall return the complex natural logarithm value, in the range of a strip mathematically unbounded along the real axis and in the interval [-iℼ, +iℼ] along the imaginary axis.
[MXC] clog(conj(z)), clogf(conjf(z)), and clogl(conjl(z)) shall return exactly the same value as conj(clog(z)), conjf(clogf(z)), and conjl(clogl(z)), respectively, including for the special values of z below.
If z is -0 + i0, -Inf + iℼ shall be returned and the divide-by-zero floating-point exception shall be raised.
If z is +0 + i0, -Inf + i0 shall be returned and the divide-by-zero floating-point exception shall be raised.
If z is x + iInf where x is finite, +Inf + iℼ/2 shall be returned.
If z is x + iNaN where x is finite, NaN + iNaN shall be returned and the invalid floating-point exception may be raised.
If z is -Inf + iy where y is positive-signed and finite, +Inf + iℼ shall be returned.
If z is +Inf + iy where y is positive-signed and finite, +Inf + i0 shall be returned.
If z is -Inf + iInf, +Inf + i3ℼ/4 shall be returned.
If z is +Inf + iInf, +Inf + iℼ/4 shall be returned.
If z is ±Inf + iNaN, +Inf + iNaN shall be returned.
If z is NaN + iy where y is finite, NaN + iNaN shall be returned and the invalid floating-point exception may be raised.
If z is NaN + iInf, +Inf + iNaN shall be returned.
If z is NaN + iNaN, NaN + iNaN shall be returned.
No errors are defined.
None.
None.
None.
None.
XBD <complex.h>
First released in Issue 6. Derived from the ISO/IEC 9899:1999 standard.
Austin Group Defect 1302 is applied, aligning these functions with the ISO/IEC 9899:2018 standard.
return to top of page