40 SUBROUTINE spfft(IMAX,INCW,INCG,KMAX,W,G,IDIR)
43 INTEGER,
INTENT(IN):: IMAX,INCW,INCG,KMAX,IDIR
44 COMPLEX,
INTENT(INOUT):: W(INCW,KMAX)
45 REAL,
INTENT(INOUT):: G(INCG,KMAX)
46 INTEGER,
SAVE:: NAUX1=0
47 REAL,
SAVE,
ALLOCATABLE:: AUX1CR(:),AUX1RC(:)
49 REAL:: AUX2(20000+INT(0.57*IMAX))
51 naux2=20000+int(0.57*imax)
57 IF(naux1.GT.0)
DEALLOCATE(aux1cr,aux1rc)
58 naux1=25000+int(0.82*imax)
59 ALLOCATE(aux1cr(naux1),aux1rc(naux1))
60 CALL scrft(1,w,incw,g,incg,imax,kmax,-1,1.,
61 & aux1cr,naux1,aux2,naux2,0.,0)
62 CALL srcft(1,g,incg,w,incw,imax,kmax,+1,1./imax,
63 & aux1rc,naux1,aux2,naux2,0.,0)
67 CALL scrft(0,w,incw,g,incg,imax,kmax,-1,1.,
68 & aux1cr,naux1,aux2,naux2,0.,0)
72 CALL srcft(0,g,incg,w,incw,imax,kmax,+1,1./imax,
73 & aux1rc,naux1,aux2,naux2,0.,0)
subroutine scrft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)
scrft
subroutine srcft(init, x, ldx, y, ldy, n, m, isign, scale, table, n1, wrk, n2, z, nz)
srcft
subroutine spfft(IMAX, INCW, INCG, KMAX, W, G, IDIR)
This subprogram performs multiple fast fourier transforms between complex amplitudes in fourier space...