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;
      
        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 )
      
        c = c8_complex ( a )
      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 ( );
      The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
C8_COMPLEX_LIB is available in a C version and a C++ version.
C4_COMPLEX_LIB, a C++ library which defines a class called c4_complex for complex numbers with single precision components.
      
      C8LIB, 
      a C++ library which
      implements certain elementary functions for "C8" 
      or double precision complex variables
      using the C++ "complex 
CPP, C++ programs which includes an example of the declaration and use of complex variables.
You can go up one level to the C++ source codes.