\File{complex.h},{00:02},{Dec 28 1997}
\L{\LB{\C{}\/* \$Id: complex.h,v 1.9 1997\/12\/28 05:02:55 bert Exp \$}}
\L{\LB{ *}}
\L{\LB{ * top\-level logic for making complex numbers work in C (with gcc) and C++}}
\L{\LB{ *\/\CE{}}}
\L{\LB{}}
\L{\LB{\K{\#ifndef} \_COMPLEX\_H}}
\L{\LB{\K{\#define} \_COMPLEX\_H}}
\L{\LB{}}
\L{\LB{\C{}\/* To use the FFTW library, the complex type must consist of two adjacent}}
\L{\LB{ * numbers of type FFTW\_REAL (as declared in \<fftw.h\>), representing the}}
\L{\LB{ * real and imaginary parts, in that order.  Both GCC \_\_complex\_\_ doubles}}
\L{\LB{ * and our C++ complex class satisfy this requirement (with FFTW\_REAL set}}
\L{\LB{ * to double).}}
\L{\LB{ *\/\CE{}}}
\L{\LB{}}
\L{\LB{\K{\#ifdef} \_\_cplusplus}}
\L{\LB{}}
\L{\LB{\K{\#include} \<\K{complex}\-class.h\>}}
\L{\LB{}}
\L{\LB{\K{\#else} \C{}\/* not \_\_cplusplus *\/\CE{}}}
\L{\LB{}}
\L{\LB{\K{\#ifdef} \_\_GNUC\_\_}}
\L{\LB{}}
\L{\LB{\K{\#include} \<\K{complex}\-gcc.h\>}}
\L{\LB{}}
\L{\LB{\K{\#else} \C{}\/* not \_\_GNUC\_\_ *\/\CE{}}}
\L{\LB{}}
\L{\LB{\C{}\/* Oops!  No support available; blow up. *\/\CE{}}}
\L{\LB{\#error  Sorry, I need a compiler that supports \K{complex} numbers (gcc or C++)}}
\L{\LB{ error: Sorry, I need a compiler that supports \K{complex} numbers (gcc or C++)}}
\L{\LB{}}
\L{\LB{\K{\#endif} \C{}\/* not \_\_GNUC\_\_ *\/\CE{}}}
\L{\LB{\K{\#endif} \C{}\/* not \_\_cplusplus *\/\CE{}}}
\L{\LB{}}
\L{\LB{\K{\#endif} \C{}\/* \_COMPLEX\_H *\/\CE{}}}
