C8_COMPLEX_LIB A C++ Class for Complex Arithmetic

C8_COMPLEX_LIB
is a C++ library which
defines complex numbers and
the operations necessary to do arithmetic on them.

Since the ANSI C++ standard library now includes a complex class,
the information described here is probably not of practical use.
On the other hand, it may be helpful as a practical demonstration
of how to define a useful arithmetic class.

The C8_COMPLEX class defines a c8_complex number as a pair
of doubles. A variable c in this class
may be declared by

c8_complex c;

The declaration can include an initialization:

c8_complex c = c8_complex ( 1.0, 2.0 );

A variable c declared as c8_complex may be assigned a value
using the c8_complex() function:

c = c8_complex ( a, b )

where a and b are double values; the assignment

c = c8_complex ( a )

sets the real part of c to a, and the imaginary part to 0.

A variable c declared as c8_complex may be used in addition,
subtraction, multiplication, or division with another c8_complex value,
or a double value:

c3 = c1 + c2;
c3 = c1 - c2;
c3 = c1 * c2;
c3 = c1 / c2;

A variable c declared as c8_complex may be conjugated, or
its real or imaginary part may be produced as a double value:

c2 = ~c;
d1 = c1.real ( );
d2 = c1.imaginary ( );

Licensing:

The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.