Charles.Forsyth20060303-partialeea662d19 years agoHistory
32 lines · 1.4 KB · Objective-C
RawDownload
FFTs: module{	PATH:	con	"/dis/math/ffts.dis"; 	ffts: fn(a,b:array of real, ntot,n,nspan,isn:int);}; #  multivariate complex fourier transform, computed in place#    using mixed-radix fast fourier transform algorithm.#  arrays a and b originally hold the real and imaginary#    components of the data, and return the real and#    imaginary components of the resulting fourier coefficients.#  multivariate data is indexed according to the fortran#    array element successor function, without limit#    on the number of implied multiple subscripts.#    the subroutine is called once for each variate.#    the calls for a multivariate transform may be in any order.#  ntot is the total number of complex data values.#  n is the dimension of the current variable.#  nspan/n is the spacing of consecutive data values#    while indexing the current variable.#  the sign of isn determines the sign of the complex#    exponential, and the magnitude of isn is normally one.#  univariate transform:#      ffts(a,b,n,n,n,1)#  trivariate transform with a(n1,n2,n3), b(n1,n2,n3):#      ffts(a,b,n1*n2*n3,n1,n1,1)#      ffts(a,b,n1*n2*n3,n2,n1*n2,1)#      ffts(a,b,n1*n2*n3,n3,n1*n2*n3,1)#  the data can alternatively be stored in a single vector c#    alternating real and imaginary parts. the magnitude of isn changed#    to two to give correct indexing increment, and a[0:] and a[1:] used#    for a and b