# cexp(3) [freebsd man page]

```CEXP(3) 						   BSD Library Functions Manual 						   CEXP(3)

NAME
cexp, cexpf -- complex exponential functions

LIBRARY
Math Library (libm, -lm)

SYNOPSIS
#include <complex.h>

double complex
cexp(double complex z);

float complex
cexpf(float complex z);

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

RETURN VALUES
For real numbers x and y, cexp() behaves according to Euler's formula:

cexp(x + I*y) = (e**x * cos(y)) + (I * e**x * sin(y))

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 infinity or NaN.  Likewise,
cexp(-infinity + I*y) = 0 and creal(cexp(infinity + I*y)) = infinity 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.

complex(3), exp(3), math(3)

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

BSD								   March 6, 2011							       BSD```

## Check Out this Related Man Page

```CEXP(3) 						   BSD Library Functions Manual 						   CEXP(3)

NAME
cexp -- complex exponential function

SYNOPSIS
#include <complex.h>

double complex
cexp(double complex z);

long double complex
cexpl(long double complex z);

float complex
cexpf(float complex z);

DESCRIPTION
cexp(z) returns the complex exponential of z.

cexp(conj(z)) = conj(cexp(z)), for all complex floating-point numbers z.

SPECIAL VALUES
The conjugate symmetry of cexp() is used to abbreviate the specification of special values.

cexp(+-0 + 0i) returns 1 + 0i.

cexp(x + inf i) returns NaN + NaN i, and raises the invalid flag, for finite x.

cexp(x + NaN i) returns NaN + NaN i, for finite x.

cexp(inf + 0i) returns inf + 0i.

For the following two cases, cis(y) denotes cos(y) + I*sin(y).

cexp(-inf + yi) returns 0*cis(y), for finite y.

cexp(inf + yi) returns inf*cis(y), for finite nonzero y.

cexp(-inf + inf i) returns -0 + 0i.

cexp(inf + inf i) returns -inf + NaN i, and raises the invalid flag.

cexp(-inf + NaN i) returns -0 + 0i.

cexp(inf + NaN i) returns -inf + NaN i.

cexp(NaN + 0i) returns NaN + 0i.

cexp(NaN + yi) returns NaN + NaN i for all nonzero numbers y.

cexp(NaN + NaN i) returns NaN + NaN i.