HP MLIB User's Guide Vol. 2 7th Ed.

568 HP MLIB User’s Guide
SRC1FT/DRC1FT Real-to-complex one-dimensional FFT
For best performance, these subprograms require that l be a product of powers
of 2, 3, and 5, that is, of the form
where p, q, r0 and where either l = 1 or l is even.
Usage Because it is common to use one data set length repetitively, these subprograms
have a separate initialization call such that the setup can be performed only
once for each different transform size. You will, therefore, always have at least
two call statements to the FFT subprogram, using the same working storage
array.vb
VECLIB:
INTEGER*4 l, iopt, ier
REAL*4 x(l+2), work(2*l)
CALL SRC1FT(x, l, work, iopt, ier)
INTEGER*4 l, iopt, ier
REAL*8 x(l+2), work(2*l)
CALL DRC1FT(x, l, work, iopt, ier)
VECLIB8:
INTEGER*8 l, iopt, ier
REAL*4 x(l+2), work(2*l)
CALL SRC1FT(x, l, work, iopt, ier)
INTEGER*8 l, iopt, ier
REAL*8 x(l+2), work(2*l)
CALL DRC1FT(x, l, work, iopt, ier)
Input x Array containing l real data points or the first l/2+1
complex data points of a conjugate-symmetric complex
data set of length l, to be transformed.
For a forward real-to-complex transform, the i-th real
data point is stored in x(i), i = 1, 2, ..., l.
For an inverse complex-to-real transform, the real part
of the i-th complex data point is stored in x(2×i1) and
the imaginary part of the i-th data point is stored in
x(2×i), i = 1, 2, ..., l/2+1.
Not used if iopt = 3.
l Number of data points, l > 0.
l 2
p
3
q
5
r
,=