CEXPM1 3CW "27 September 2009" "mathcw-1.00"

Table of contents


NAME

cexpm1f, cexpm1, cexpm1l, cexpm1w, cexpm1q, cexpm1ll, cexpm1df, cexpm1d, cexpm1dl, cexpm1dll - complex exponential (base-e) function, less one

SYNOPSIS

cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ]

#include <mathcw.h>

#include <complexcw.h>

extern float complex cexpm1f (float complex z);

extern double complex cexpm1 (double complex z);

extern long double complex cexpm1l (long double complex z);

extern __float80 complex cexpm1w (__float80 complex z);

extern __float128 complex cexpm1q (__float128 complex z);

extern long_long_double complex cexpm1ll (long_long_double complex z);

extern decimal_float complex cexpm1df (decimal_float complex z);

extern decimal_double complex cexpm1d (decimal_double complex z);

extern decimal_long_double complex cexpm1dl (decimal_long_double complex z);

extern decimal_long_long_double complex cexpm1dll (decimal_long_long_double complex z);

NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.


DESCRIPTION

Compute the complex exponential of the complex value z, less one, that is, e (= 2.718281828...) to the power z, less one. The returned value is equivalent to cexp(z) - 1", but is computed in a way that avoids the subtraction loss in that expression when |z| is small.

CAVEATS

Because the real exponential function grows rapidly for arguments of large magnitude, it approaches overflow to Infinity, or underflow to zero, fairly quickly.

Imaginary parts of large magnitude require argument reduction in the trigonometric functions, and most implementations of those functions fail to provide exact argument reduction, producing wildly-inaccurate trigonometric functions that propagate to the complex exponential.

Trigonometric argument reduction in the MathCW library is always exact, so the components of the complex exponential should suffer at most three rounding errors each.

When compiler support for complex types is lacking, consider using the cx family of functions instead.


BRANCH CUTS

There are no branch cuts or branch points on the real and imaginary surfaces of the complex exponential function.

RETURN VALUES

Return the complex exponential, less one.

ERRORS

For finite complex arguments, the returned value is complex and finite. For infinite arguments, at least one component of the returned value is Infinity. Otherwise, for NaN arguments, at least one component of the returned value is a quiet NaN.

SEE ALSO

cexp(3CW), cipow(3CW), clog(3CW), clog1p(3CW), cos(3CW), cpow(3CW), exp(3CW), sin(3CW).