DEFINITION MODULE FourNM; (* EXPORT QUALIFIED FourN; *) FROM NRVect IMPORT Vector; FROM NRIVect IMPORT IVector; PROCEDURE FourN(Data: Vector; NN: IVector; isign: INTEGER); (* Replaces DATA by its NDIM-dimensional discrete Fourier transform, if isign is input as 1. NN[0, NDIM-1] is an integer array containing the lengths of each dimension (number of complex values), which MUST all be powers of 2. DATA is a real array of length twice the product of these lengths, in which the data are stored as in a multidimensional complex array: real and imaginary parts of each element are in consecutive locations, and the rightmost index of the array increases most rapidly as one proceeds along DATA. For a two-dimensional array, this is equivalent to storing the array by rows. If isign is input as -1, DATA is replaced by its inverse transform times the product of the lengths of all dimensions. *) END FourNM.