CPLX.INTRO(3C++)

NAME
complex - introduction to C++ complex mathematics library

SYNOPSIS
#include <complex.h>
class    complex;

DESCRIPTION
This section describes functions and operators found in the C++ Complex Mathematics Library, libcomplex.a. These functions are not automatically loaded by the C++ compiler, CC(1); however, the link editor searches this library under the -lcomplex option. Declarations for these functions may be found in the #include file <complex.h>. When compiling programs using the complex library, users must provide the -lm option on the CC command line to link the math library.

The Complex Mathematics library implements the data type of complex numbers as a class, complex. It overloads the standard input, output, arithmetic, assignment, and comparison operators, discussed in the manual pages for cplxops(3C++). It also overloads the standard exponential, logarithm, power, and square root functions, discussed in cplxexp(3C++), and the trigonometric functions of sine, cosine, hyperbolic sine, and hyperbolic cosine, discussed in cplxtrig(3C++), for the class complex. Routines for converting between Cartesian and polar coordinate systems are discussed in cartpol(3C++). Error handling is described in cplxerr(3C++).

FILES
INCDIR/complex.h
LIBDIR/libcomplex.a

SEE ALSO
cartpol(3C++), cplxerr(3C++), cplxops(3C++), cplxexp(3C++), and cplxtrig(3C++).
Stroustrup, B., "Complex Arithmetic in C++," C++ Language System Release 2.0 Library Manual.

DIAGNOSTICS
Functions in the Complex Mathematics Library (3C++) may return the conventional values (0, 0), (0, ±HUGE), (±HUGE, 0), or (±HUGE, ±HUGE), when the function is undefined for the given arguments or when the value is not representable. (HUGE is the largest-magnitude single-precision floating-point number and is defined in the file <math.h>. The header file <math.h> is included in the file <complex.h>.) In these cases, the external variable errno [see intro(2)] is set to the value EDOM or ERANGE.