ccos, ccosf, ccosl — complex cosine functions
#include <complex.h>
double complex ccos(double complex z);
float complex ccosf(float complex z);
long double complex ccosl(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 cosine of z.
These functions shall return the complex cosine value.
[MXC] ccos(conj(iz)), ccosf(conjf(iz)), and ccosl(conjl(iz)) shall return exactly the same value as conj(ccos(iz)), conjf(ccosf(iz)), and conjl(ccosl(iz)), respectively, and ccos(-iz), ccosf(-iz), and ccosl(-iz) shall return exactly the same value as ccos(iz), ccosf(iz), and ccosl(iz), respectively, including for the special values of iz below.
If iz is +0 + i0, 1 + i0 shall be returned.
If iz is +0 + iInf, NaN ± i0 shall be returned and the invalid floating-point exception shall be raised; the sign of the imaginary part of the result is unspecified.
If iz is +0 + iNaN, NaN ± i0 shall be returned; the sign of the imaginary part of the result is unspecified.
If iz is x + iInf where x is non-zero and finite, NaN + iNaN shall be returned and the invalid floating-point exception shall be raised.
If iz is x + iNaN where x is non-zero and finite, NaN + iNaN shall be returned and the invalid floating-point exception may be raised.
If iz is +Inf + i0, +Inf + i0 shall be returned.
If iz is +Inf + iy where y is non-zero and finite, +Inf (cos(y) + isin(y)) shall be returned.
If iz is +Inf + iInf, ±Inf + iNaN shall be returned and the invalid floating-point exception shall be raised; the sign of the real part of the result is unspecified.
If iz is +Inf + iNaN, +Inf + iNaN shall be returned.
If iz is NaN + i0, NaN ± i0 shall be returned; the sign of the imaginary part of the result is unspecified.
If iz is NaN + iy where y is any non-zero number, NaN + iNaN shall be returned and the invalid floating-point exception may be raised.
If iz is NaN + iNaN, NaN + iNaN shall be returned.
No errors are defined.
None.
None.
The MXC special cases for ccos() are derived from those for ccosh() by applying the formula ccos(z) = ccosh(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