1 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
5 C Authors: Paul N. Swarztrauber and Richard A. Valent
9 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
11 SUBROUTINE MCSQF1
(LOT
,JUMP
,N
,INC
,X
,WSAVE
,WORK
,IER
)
12 DIMENSION X
(INC
,*) ,WSAVE
(*) ,WORK
(LOT
,*)
22 WORK
(M1
,K
) = X
(M
,K
)+X
(M
,KC
)
23 WORK
(M1
,KC
) = X
(M
,K
)-X
(M
,KC
)
27 IF (MODN
.NE
. 0) GO TO 301
31 WORK
(M1
,NS2
+1) = X
(M
,NS2
+1)+X
(M
,NS2
+1)
38 X
(M
,K
) = WSAVE
(K
-1)*WORK
(M1
,KC
)+WSAVE
(KC
-1)*WORK
(M1
,K
)
39 X
(M
,KC
) = WSAVE
(K
-1)*WORK
(M1
,K
) -WSAVE
(KC
-1)*WORK
(M1
,KC
)
42 IF (MODN
.NE
. 0) GO TO 303
46 X
(M
,NS2
+1) = WSAVE
(NS2
)*WORK
(M1
,NS2
+1)
49 LENX
= (LOT
-1)*JUMP
+ INC*
(N
-1) + 1
50 LNSV
= N
+ INT
(LOG
(REAL(N
))/LOG
(2.)) + 4
53 CALL RFFTMF
(LOT
,JUMP
,N
,INC
,X
,LENX
,WSAVE
(N
+1),LNSV
,WORK
,LNWK
,IER1
)
56 CALL XERFFT
('MCSQF1',-5)
62 XIM1
= .5*(X
(M
,I
-1)+X
(M
,I
))
63 X
(M
,I
) = .5*(X
(M
,I
-1)-X
(M
,I
))