DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK

# cplxexp(C++)

cplxexp: exp, log, pow, sqrt -- exponential, logarithm, power, square root functions

## Synopsis

```   #include <complex.h>
class complex {

public:
friend complex	exp(complex);
friend complex	log(complex);
friend complex	pow(double, complex);
friend complex	pow(complex, int) throw();
friend complex	pow(complex, double);
friend complex	pow(complex, complex);
friend complex	sqrt(complex) throw();

};
```

## Description

The following math functions are overloaded by the complex library, where: -- x, y, and z are of type complex.

z = exp(x)
Returns e[x].

z = log(x)
Returns the natural logarithm of x.

z = pow(x, y)
Returns x[y].

z = sqrt(x)
Returns the square root of x, contained in the first or fourth quadrants of the complex plane.

## References

complex(C++), cartpol(C++), complex_error(C++), cplxops(C++), cplxtrig(C++).

## Diagnostics

exp returns (0, 0) when the real part of x is so small, or the imaginary part is so large, as to cause overflow. When the real part is large enough to cause overflow, exp returns (HUGE, HUGE) if the cosine and sine of the imaginary part of x are positive, (HUGE, -HUGE) if the cosine is positive and the sine is not, (-HUGE, HUGE) if the sine is positive and the cosine is not, and (-HUGE, -HUGE) if neither sine nor cosine is positive. In all these cases, errno is set to ERANGE.

log returns (-HUGE, 0) and sets errno to EDOM when x is (0, 0).

These error-handling procedures may be changed with the function complex_error(C++).