Updated: April 19, 2023 |
Compute the complex base-e exponential of a complex number
#include <complex.h> double complex cexp(double complex z ); float complex cexpf(float complex z ); long double complex cexpl(long double complex z );
Your system requirements will determine how you should work with these libraries:
These functions compute the complex base-e exponential of z. If z = x+iy, the complex exponential is:
ez = ex cis(y) = ex (cos(y) + i sin(y))
The exponential function is an entire function in the complex plane and has no branch cuts.
To check for error situations, use feclearexcept() and fetestexcept(). For example:
If no errors occur, the complex base-e exponential of z.
If z is: | These functions return: | Errors: |
---|---|---|
±0 + 0i | 1 + 0i | — |
x + Infi, for any finite x | NaN + NaNi | FE_INVALID |
x + NaNi, for any finite x | NaN + NaNi | — |
Inf + 0i | Inf + 0i | — |
-Inf + yi, for any finite y | 0 * cis(y) | — |
Inf + yi, for any finite nonzero y | Inf * cis(y) | — |
-Inf + Infi | ±0 ± 0i, where the signs are unspecified | — |
Inf + Infi | ±Inf + NaNi, where the sign of the real part is unspecified | FE_INVALID |
-Inf + NaNi | ±0 ± 0i, where the signs are unspecified | — |
Inf + NaNi | ±Inf - NaNi, where the sign of the real part is unspecified | — |
NaN + 0i | NaN + 0i | — |
NaN + yi, for any nonzero y | NaN + NaNi | — |
NaN + NaNi | NaN + NaNi | — |
where cis(y) is cos(y) + i sin(y).
These functions raise FE_INEXACT if the FPU reports that the result can't be exactly represented as a floating-point number.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |