The complex arithmetic library implements a complex number data type as a new data type and provides:
Operators
Mathematical functions (defined for the built-in numerical types)
Extensions (for iostreams that allow input and output of complex numbers)
Error handling mechanisms
Complex numbers can also be represented as an absolute value (or magnitude) and an argument (or angle). The library provides functions to convert between the real and imaginary (Cartesian) representation and the magnitude and angle (polar) representation.
The complex conjugate of a number has the opposite sign in its imaginary part.
To use the complex library, include the header file complex.h in your program, and compile and link with the -library=complex option.