Files
piscal/dataassim/math/numrec/f77_sources/rlftfrag.for
T
2016-02-03 18:52:05 +00:00

48 lines
1.3 KiB
Fortran

PROGRAM exmpl1
INTEGER N1,N2,N3
PARAMETER (N1=256,N2=256,N3=1)
CU USES rlft3
REAL data(N1,N2)
COMPLEX spec(N1/2,N2),speq(N2)
EQUIVALENCE (data,spec)
C ...
call rlft3(data,speq,N1,N2,N3,1)
C ...
call rlft3(data,speq,N1,N2,N3,-1)
C ...
END
PROGRAM exmpl2
INTEGER N1,N2,N3
PARAMETER (N1=32,N2=64,N3=16)
CU USES rlft3
REAL data(N1,N2,N3)
COMPLEX spec(N1/2,N2,N3),speq(N2,N3)
EQUIVALENCE (data,spec)
C ...
call rlft3(data,speq,N1,N2,N3,1)
C ...
END
PROGRAM exmpl3
INTEGER N
PARAMETER (N=32)
CU USES rlft3
INTEGER j
REAL fac,data1(N,N,N),data2(N,N,N)
COMPLEX spec1(N/2,N,N),speq1(N,N),spec2(N/2,N,N),speq2(N,N),
*zpec1(N*N*N/2),zpeq1(N*N),zpec2(N*N*N/2),zpeq2(N*N)
EQUIVALENCE (data1,spec1,zpec1), (data2,spec2,zpec2),(speq1,
*zpeq1), (speq2,zpeq2)
C ...
call rlft3(data1,speq1,N,N,N,1)
call rlft3(data2,speq2,N,N,N,1)
fac=2./(N*N*N)
do 11 j=1,N*N*N/2
zpec1(j)=fac*zpec1(j)*zpec2(j)
11 continue
do 12 j=1,N*N
zpeq1(j)=fac*zpeq1(j)*zpeq2(j)
12 continue
call rlft3(data1,speq1,N,N,N,-1)
C ...
END