The complex numbers are represented by structures
typedef struct FCOMPLEX { float r, i; } fcomplex; typedef struct DCOMPLEX { double r, i; } dcomplex; typedef struct FPOLAIRE { float rm, th; } fpolaire; typedef struct DPOLAIRE { double rm, th; } dpolaire;
The first two structures represent complex numbers in the usual way (in simple precision for the first one, in double precision for the second), i.e. the member r is the real part and the member i is the imaginary part. The last two structures represent complex numbers in polar coordinates (in simple precision for the third, in double precision for the fourth), i.e. the member rm is the modulus and the member th is the phase.
The library contains many functions that are useful to manipulate complex numbers of the two types.