88
89
90
91
92
93
94
95
96
98
99
100
101#include "implicit_f.inc"
102#include "comlock.inc"
103
104
105
106#include "parit_c.inc"
107
108
109
110 INTEGER JJ1, JJ2, NFSK
111
113 . fskyi(lskyi,nfsk), fskyt(*)
114
115
116
117 INTEGER K, L, ERROR, PERM(JJ2-JJ1+1),
118 . IDX1(JJ2-JJ1+1),IDX2(JJ2-JJ1+1),N1,N2,IPLY,
119 . IPLY1,KK
120
121 n1 = 1
122 n2 = 0
123 kk = jj1
124 DO WHILE(fskyi(kk,5)== zero .AND. kk <= jj2)
125 kk = kk + 1
126 ENDDO
127 iply = int(fskyi(kk,5))
128 idx1(1) = kk
129 IF(iply == 0) n1 = 0
130
131 IF(iply /= 0) THEN
132 DO k = jj1+1, jj2
133 iply1 = int(fskyi(k,5))
134 IF(iply1 == iply) THEN
135 n1 = n1 + 1
136 idx1(n1) = k
137 ELSEIF(iply1 /= 0) THEN
138 n2 = n2 + 1
139 idx2(n2) = k
140 ENDIF
141 ENDDO
142 ENDIF
143
144 IF(n1 > 0) THEN
145 DO l = 1, nfsk-1
146 DO k = 1, n1
147 kk = idx1(k)
148 fskyt(k) = fskyi(kk,l)
149 ENDDO
151 DO k = 1, n1
152 kk = idx1(k)
153 fskyi(kk,l) = fskyt(n1-k+1)
154 ENDDO
155 ENDDO
156 ENDIF
157
158 IF(n2 > 0) THEN
159 DO l = 1, nfsk-1
160 DO k = 1, n2
161 kk = idx2(k)
162 fskyt(k) = fskyi(kk,l)
163 ENDDO
165 DO k = 1, n2
166 kk = idx2(k)
167 fskyi(kk,l) = fskyt(n2-k+1)
168 ENDDO
169 ENDDO
170 ENDIF
171
172 RETURN