#define exp( z )
(4) (since C99)1-3) Computes the complex base-e exponential of z
.
Type-generic macro: If
z
has type
long double complex,
cexpl
is called. if
z
has type
double complex,
cexp
is called, if
z
has type
float complex,
cexpf
is called. If
z
is real or integer, then the macro invokes the corresponding real function (
expf,
exp,
expl). If
z
is imaginary, the corresponding complex argument version is called.
[edit] Parameters [edit] Return valueIf no errors occur, e raised to the power of z
, \(\small e^z\)ez
is returned.
Errors are reported consistent with math_errhandling.
If the implementation supports IEEE floating-point arithmetic,
z
is ±0+0i
, the result is 1+0i
z
is x+âi
(for any finite x), the result is NaN+NaNi
and FE_INVALID is raised.z
is x+NaNi
(for any finite x), the result is NaN+NaNi
and FE_INVALID may be raised.z
is +â+0i
, the result is +â+0i
z
is -â+yi
(for any finite y), the result is +0cis(y)
z
is +â+yi
(for any finite nonzero y), the result is +âcis(y)
z
is -â+âi
, the result is ±0±0i
(signs are unspecified)z
is +â+âi
, the result is 屉+NaNi
and FE_INVALID is raised (the sign of the real part is unspecified)z
is -â+NaNi
, the result is ±0±0i
(signs are unspecified)z
is +â+NaNi
, the result is 屉+NaNi
(the sign of the real part is unspecified)z
is NaN+0i
, the result is NaN+0i
z
is NaN+yi
(for any nonzero y), the result is NaN+NaNi
and FE_INVALID may be raisedz
is NaN+NaNi
, the result is NaN+NaNi
where \(\small{\rm cis}(y)\)cis(y) is \(\small \cos(y)+{\rm i}\sin(y)\)cos(y) + i sin(y)
[edit] NotesThe complex exponential function \(\small e^z\)ez
for \(\small z = x + {\rm i}y\)z = x+iy equals \(\small e^x {\rm cis}(y)\)ex
cis(y), or, \(\small e^x (\cos(y)+{\rm i}\sin(y))\)ex
(cos(y) + i sin(y))
The exponential function is an entire function in the complex plane and has no branch cuts.
[edit] Example#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double PI = acos(-1); double complex z = cexp(I * PI); // Euler's formula printf("exp(i*pi) = %.1f%+.1fi\n", creal(z), cimag(z)); }
Output:
[edit] ReferencesRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4