# 1D Fourier transform on a 2D data set along the 1-axis # subroutine ft1axis( adj, sign1, n1,n2, cx) integer i2, adj, n1,n2 complex cx(n1,n2) real sign1 do i2= 1, n2 call fth( adj, sign1, 1,n1, cx(1,i2)) return; end

# 1D Fourier transform on a 2D data set along the 2-axis # subroutine ft2axis( adj, sign2, n1,n2, cx) integer i1, adj, n1,n2 complex cx(n1,n2) real sign2 do i1= 1, n1 call fth( adj, sign2, n1,n2, cx(i1,1)) return; end

I confess that there are faster ways to do things
than those I have shown you above.
When we are doing many FTs, for example,
the overhead calculations done the first time
should be saved for use on subsequent FTs,
as in the subroutine `rocca()` included in IEI.
Further, manufacturers of computers for heavy numerical use
generally design special FT codes for their architecture.
Although the basic fast FT used here
ingeniously stores its output on top of its input,
that feature is not compatible with vectorizing architectures.

10/21/1998