1 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
5 C Authors: Paul N. Swarztrauber and Richard A. Valent
9 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
11 SUBROUTINE MCSQB1
(LOT
,JUMP
,N
,INC
,X
,WSAVE
,WORK
,IER
)
12 DIMENSION X
(INC
,*) ,WSAVE
(*) ,WORK
(LOT
,*)
19 XIM1
= X
(M
,I
-1)+X
(M
,I
)
20 X
(M
,I
) = .5*(X
(M
,I
-1)-X
(M
,I
))
28 IF (MODN
.NE
. 0) GO TO 302
33 LENX
= (LOT
-1)*JUMP
+ INC*
(N
-1) + 1
34 LNSV
= N
+ INT
(LOG
(REAL(N
))/LOG
(2.)) + 4
37 CALL RFFTMB
(LOT
,JUMP
,N
,INC
,X
,LENX
,WSAVE
(N
+1),LNSV
,WORK
,LNWK
,IER1
)
40 CALL XERFFT
('MCSQB1',-5)
49 WORK
(M1
,K
) = WSAVE
(K
-1)*X
(M
,KC
)+WSAVE
(KC
-1)*X
(M
,K
)
50 WORK
(M1
,KC
) = WSAVE
(K
-1)*X
(M
,K
)-WSAVE
(KC
-1)*X
(M
,KC
)
53 IF (MODN
.NE
. 0) GO TO 305
55 X
(M
,NS2
+1) = WSAVE
(NS2
)*(X
(M
,NS2
+1)+X
(M
,NS2
+1))
62 X
(M
,K
) = WORK
(M1
,K
)+WORK
(M1
,KC
)
63 X
(M
,KC
) = WORK
(M1
,K
)-WORK
(M1
,KC
)
67 X
(M
,1) = X
(M
,1)+X
(M
,1)