Main index | Section 3 | Options |

Math Library (libm, -lm)

#include <complex.h>

The
`cexp()`
and
`cexpf()`
functions compute the complex exponential of
z,
also known as
* cis(*
z, Ns).

For real numbers
x
and
y,
`cexp()`
behaves according to Euler's formula:
`cexp(x + I*y)`
=
(** e****
x, *
* cos(*
y, Ns, Pc, Pc, +, Po, Ns
** I**
*
** e****
x
*
* sin(*
y, Ns, Pc, Pc

Generally speaking, infinities, zeroes and NaNs are handled as would
be expected from this identity given the usual rules of floating-point
arithmetic.
However, care is taken to avoid generating NaNs when they are not deserved.
For example, mathematically we expect that
`cimag(``cexp(x + I*0)`)
= 0 regardless of the value of
x,
and
`cexp()`
preserves this identity even if
x
is ∞ or NaN.
Likewise,
`cexp(-∞ + I*y)`
= 0 and
`creal(``cexp(∞ + I*y)`)
= ∞
for any
y
(even though the latter property is only mathematically true for
representable
y, .)
If
y
is not finite, the sign of the result is indeterminate.

The
`cexp()`
and
`cexpf()`
functions conform to
ISO/IEC 9899:1999 ("ISO C99").

CEXP (3) | March 6, 2011 |

Main index | Section 3 | Options |

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

“ | The last good thing written in C was Franz Schubert's Symphony #9. | ” |

— Erwin Dietrich |