catan, catanf, catanl — complex arc tangent functions
#include <complex.h>
double complex catan(double complex z);
float complex catanf(float complex z);
long double complex catanl(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 arc tangent of z, with branch cuts outside the interval [-i, +i] along the imaginary axis.
These functions shall return the complex arc tangent value, in the range of a strip mathematically unbounded along the imaginary axis and in the interval [-ℼ/2, +ℼ/2] along the real axis.
[MXC] catan(conj(iz)), catanf(conjf(iz)), and catanl(conjl(iz)) shall return exactly the same value as conj(catan(iz)), conjf(catanf(iz)), and conjl(catanl(iz)), respectively, and catan(-iz), catanf(-iz), and catanl(-iz) shall return exactly the same value as -catan(iz), -catanf(iz), and -catanl(iz), respectively, including for the special values of iz below.
If iz is +0 + i0, -i (+0 + i0) shall be returned.
If iz is +0 + iNaN, -i (+0 + iNaN) shall be returned.
If iz is +1 + i0, -i (+Inf + i0) shall be returned and the divide-by-zero floating-point exception shall be raised.
If iz is x + iInf where x is positive-signed and finite, -i (+0 + iℼ/2) shall be returned.
If iz is x + iNaN where x is non-zero and finite, -i (NaN + iNaN) shall be returned and the invalid floating-point exception may be raised.
If iz is +Inf + iy where y is positive-signed and finite, -i (+0 + iℼ/2) shall be returned.
If iz is +Inf + iInf, -i (+0 + iℼ/2) shall be returned.
If iz is +Inf + iNaN, -i (+0 + iNaN) shall be returned.
If iz is NaN + iy where y is finite, -i (NaN + iNaN) shall be returned and the invalid floating-point exception may be raised.
If iz is NaN + iInf, -i (±0 + iℼ/2) shall be returned; the sign of the imaginary part of the result is unspecified.
If iz is NaN + iNaN, -i (NaN + iNaN) shall be returned.
No errors are defined.
None.
None.
The MXC special cases for catan() are derived from those for catanh() by applying the formula catan(z) = -i catanh(iz).
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