complex(3C++)


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(1C++); you must specify -lcomplex -lm on the CC command line to link in these functions and the underlying C math library. Declarations for these functions may be found in the #include file <complex.h>.

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 complex_error(3C++). The Complex Mathematics library also provides overloaded I/O operators of the form:

   istream& operator>>(istream&, complex&) throw();
   ostream& operator<<(ostream&, complex) throw();
The expected forms for complex input are:
   f
   ( f )
   ( f , f )
where f is a floating point literal, while the form for output is:
   ( f, f)

Files

INCDIR/CC/complex.h
LIBDIR/libcomplex.a

References

cartpol(3C++), complex_error(3C++), cplxops(3C++), cplxexp(3C++), cplxtrig(3C++)

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.
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004