Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] abuo_v1_0.gz(7 Kbytes)
Manuscript Title: FOURGEN: a fast Fourier transform program generator.
Authors: J.A. Maruhn
Program title: FOURGEN
Catalogue identifier: ABUO_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 12(1976)147
Programming language: PL/1, Fortran.
Computer: IBM 360/91.
Operating system: OS/360.
RAM: 270K words
Word size: 8
Peripherals: disc.
Keywords: General purpose, Fast fourier transform, Fourier, Analysis, Synthesis, Sine analysis, Cosine analysis, Harmonic, Generator.
Classification: 4.6.

Nature of problem:
FOURGEN generates specialized fast-Fourier-analysis codes based on Hockney general-purpose code FOUR67. Each code is capable of performing one of the four transform types (sine analysis and synthesis, cosine analysis and synthesis, periodic analysis, and periodic synthesis) on a real vector of fixed length.

Solution method:
FOURGEN is basically a PL/1 translation of FOUR67, with the exception that those parts of the code that actually operate on the input data are not executed but punched out as a complete Fortran subroutine. This eliminates essentially all program overhead.

Restrictions:
FOURGEN is able to generate subroutines for all types of transforms mentioned above and all dimensions N=2IQ + 1 with IQ>= 3. However, for IQ>= 7 the size of the generated subroutines increases so fast that they may be useful only under very special circumstances.

Running time:
On the 360/91 the generation of a subroutine with IQ < 7 always took less than 1 s. Performance characteristics for the generated programs are discussed in detail in the long write-up. In general they are a factor of 2-4 faster than FOUR67.