FreeBSD manual
download PDF document: cexp.3.pdf
CEXP(3) FreeBSD Library Functions Manual CEXP(3)
NAME
cexp, cexpf, cexpl - complex exponential functions
LIBRARY
Math Library (libm, -lm)
SYNOPSIS
#include <complex.h>
double complex
cexp(double complex z);
float complex
cexpf(float complex z);
long double complex
cexpl(long double complex z);
DESCRIPTION
The cexp(), cexpf(), and cexpl() 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.
SEE ALSO
complex(3), exp(3), math(3)
STANDARDS
The cexp(), cexpf(), and cexpl() functions conform to ISO/IEC 9899:1999
("ISO C99").
FreeBSD 14.0-RELEASE-p11 November 3, 2021 FreeBSD 14.0-RELEASE-p11