Csfft1d/Zdfft1d executes the Fast Fourier Transform in place on complex data. Usage: Fortran: call csfft1d (data_in, num_pts, isign, temp_data) call zdfft1d (data_in, num_pts, isign, temp_data) C: csfft1d_ (data_in, &num_pts, &isign, temp_data); zdfft1d_ (data_in, &num_pts, &isign, temp_data); Description: Csfft1d/zdfft1d computes the inverse FFT on complex data in single (csfft1d) or double (zdfft1d) precision. Num_pts must be even and equal to the resulting number of real data points. Routine parameters: Fortran: csfft1d: real data_in (num_pts + 2), temp_data (num_pts + 2) integer num_pts, isign zdfft1d: real*8 data_in (num_pts + 2), temp_data (num_pts + 2) integer num_pts, isign C: csfft1d: float data_in [num_pts + 2], temp_data [num_pts + 2]; int num_pts, isign; zdfft1d: double data_in [num_pts + 2], temp_data [num_pts + 2]; int num_pts, isign; Parameter descriptions: data_in: array of at least size num_pts + 2 which contains the data points to be transformed. temp_data: array of at least size num_pts + 2 which will be used by the routine for temporary storage of intermediate values. num_pts: integer indicating the size of the transform desired isign: integer value which indicates the action desired: 0: decompose the problem and initialize the coefficient arrays -1: perform a forward FFT on the data held in data_in A call to csfft1d/zdfft1d must first be made with isign = 0 to decompose the problem and initialize the coefficient arrays. After this, any number of transforms of the same length may be computed. If a transform of a different size is desired, another call to csfft1d/zdfft1d with isign = 0 is required to decompose the new problem and generate new coefficients. The array temp_data may safely be used for other work between invocations of csfft1d/zdfft1d. Transform sizes are restricted to values which factor completely into the numbers 2, 3, 5, and 7 and must be even. Each of these numbers may appear multiple times in the factorization. In addition, transform sizes whose factorizations contain 11 or 13 exactly once (11 or 13, but not both) are also allowed. For example, a transform of size 110 (11 * 5 * 2) or 78 (13 * 3 * 2) can be computed, while a transform of size 143 (11 * 13) can not. Work is currently underway to allow odd sizes to be processed using an N**2 algorithm. If an unsupported transform size is attempted, the routine will exit with an error message. Behavior: isign = 0: any values in data_in or temp_data are unchanged isign != 0: data_in contains the results of a inverse FFT performed on the data points previously held in the array. Any previous values in temp_data will be lost.