#defines: system-level, and our own ``invented'' ones

Several system-level #defines are worth noting, and are used when appropriate:

__APPLE__ is set on Apple computers.
__GNUC__ is set when using the GNU C compiler gcc.
__CYGWIN__ is set in the http://www.cygwin.comCygwin environment on Windows computers.
Others that we have ``invented'' for our subroutines are:
__MPI__ signifies that the code should be compiled to use message passing interface capabilities on a parallel computer.
DIST_FFT signifies that the code should use the Apple dist_fft subroutines for Fourier transforms; otherwise the FFTW3 subroutines are used by default. For more on this, see Sec. 6.2.
DM_ARRAY_DOUBLE means that the data types dm_array_real and dm_array_complex will be double rather than float. When using the dist_fft library make sure you also set the DIST_FFT_USE_DOUBLE flag to compile the dist_fft object files.
Others are used by the dist_fft library
DIST_FFT_USE_DOUBLE is used to tell the dist_fft routines to use double precision
DIST_FFT_USE_INTERLEAVED_COMPLEX is used to tell the dist_fft routines to use interleaved complex arrays as opposed to split complex arrays which is the default.
Microscope User 2008-11-25