1 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
5 C Authors: Paul N. Swarztrauber and Richard A. Valent
9 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
11 SUBROUTINE MRFTB1
(M
,IM
,N
,IN
,C
,CH
,WA
,FAC
)
12 REAL CH
(M
,*), C
(IN
,*), WA
(N
) ,FAC
(15)
19 IF(IP
.LE
. 5) GO TO 10
20 IF(K1
.EQ
. NF
) GO TO 10
27 IF(MODN
.NE
. 0) NL
= N
-1
28 IF (NA
.EQ
. 0) GO TO 120
39 CH
(I
,J
) = HALF*C
(M2
,J
)
40 CH
(I
,J
+1) = HALFM*C
(M2
,J
+1)
48 C
(M2
,J
) = HALF*C
(M2
,J
)
49 C
(M2
,J
+1) = HALFM*C
(M2
,J
+1)
58 IF (IP
.NE
. 4) GO TO 103
61 IF (NA
.NE
. 0) GO TO 101
62 CALL MRADB4
(M
,IDO
,L1
,C
,IM
,IN
,CH
,1,M
,WA
(IW
),WA
(IX2
),WA
(IX3
))
64 101 CALL MRADB4
(M
,IDO
,L1
,CH
,1,M
,C
,IM
,IN
,WA
(IW
),WA
(IX2
),WA
(IX3
))
67 103 IF (IP
.NE
. 2) GO TO 106
68 IF (NA
.NE
. 0) GO TO 104
69 CALL MRADB2
(M
,IDO
,L1
,C
,IM
,IN
,CH
,1,M
,WA
(IW
))
71 104 CALL MRADB2
(M
,IDO
,L1
,CH
,1,M
,C
,IM
,IN
,WA
(IW
))
74 106 IF (IP
.NE
. 3) GO TO 109
76 IF (NA
.NE
. 0) GO TO 107
77 CALL MRADB3
(M
,IDO
,L1
,C
,IM
,IN
,CH
,1,M
,WA
(IW
),WA
(IX2
))
79 107 CALL MRADB3
(M
,IDO
,L1
,CH
,1,M
,C
,IM
,IN
,WA
(IW
),WA
(IX2
))
82 109 IF (IP
.NE
. 5) GO TO 112
86 IF (NA
.NE
. 0) GO TO 110
87 CALL MRADB5
(M
,IDO
,L1
,C
,IM
,IN
,CH
,1,M
,WA
(IW
),WA
(IX2
),
90 110 CALL MRADB5
(M
,IDO
,L1
,CH
,1,M
,C
,IM
,IN
,WA
(IW
),WA
(IX2
),
94 112 IF (NA
.NE
. 0) GO TO 113
95 CALL MRADBG
(M
,IDO
,IP
,L1
,IDL1
,C
,C
,C
,IM
,IN
,CH
,CH
,1,
98 113 CALL MRADBG
(M
,IDO
,IP
,L1
,IDL1
,CH
,CH
,CH
,1,M
,C
,C
,IM
,
100 114 IF (IDO
.EQ
. 1) NA
= 1-NA