29
30
31
32#include "implicit_f.inc"
33
34
35
36 INTEGER N, NFSKYI, ISKY(*)
38
39
40
41 INTEGER I, J, L, IR, IIA
42 my_real rra1, rra2, rra3, rra4, rra5, rra6, rra7, rra8, rra9, rra10
43
44
45
46
47 IF (n==0) RETURN
48 l=n/2+1
49 ir=n
50 IF(nfskyi==4)THEN
5110 CONTINUE
52 IF(l>1)THEN
53 l=l-1
54 iia =isky(l)
55 rra1=fskyi(1,l)
56 rra2=fskyi(2,l)
57 rra3=fskyi(3,l)
58 rra4=fskyi(4,l)
59 rra5=fskyi(5,l)
60 rra6=fskyi(6,l)
61 rra7=fskyi(7,l)
62 rra8=fskyi(8,l)
63 ELSE
64 iia =isky(ir)
65 rra1=fskyi(1,ir)
66 rra2=fskyi(2,ir)
67 rra3=fskyi(3,ir)
68 rra4=fskyi(4,ir)
69 rra5=fskyi(5,ir)
70 rra6=fskyi(6,ir)
71 rra7=fskyi(7,ir)
72 rra8=fskyi(8,ir)
73 isky(ir)=isky(1)
74 fskyi(1,ir)=fskyi(1,1)
75 fskyi(2,ir)=fskyi(2,1)
76 fskyi(3,ir)=fskyi(3,1)
77 fskyi(4,ir)=fskyi(4,1)
78 fskyi(5,ir)=fskyi(5,1)
79 fskyi(6,ir)=fskyi(6,1)
80 fskyi(7,ir)=fskyi(7,1)
81 fskyi(8,ir)=fskyi(8,1)
82 ir=ir-1
83
84 IF(ir<=1)THEN
85 isky(1)=iia
86 fskyi(1,1)=rra1
87 fskyi(2,1)=rra2
88 fskyi(3,1)=rra3
89 fskyi(4,1)=rra4
90 fskyi(5,1)=rra5
91 fskyi(6,1)=rra6
92 fskyi(7,1)=rra7
93 fskyi(8,1)=rra8
94 RETURN
95 ENDIF
96 ENDIF
97 i=l
98 j=l+l
9920 IF(j<=ir)THEN
100 IF(j<ir)THEN
101 IF(isky(j)<isky(j+1))j=j+1
102 ENDIF
103 IF(iia<isky(j))THEN
104 isky(i)=isky(j)
105 fskyi(1,i)=fskyi(1,j)
106 fskyi(2,i)=fskyi(2,j)
107 fskyi(3,i)=fskyi(3,j)
108 fskyi(4,i)=fskyi(4,j)
109 fskyi(5,i)=fskyi(5,j)
110 fskyi(6,i)=fskyi(6,j)
111 fskyi(7,i)=fskyi(7,j)
112 fskyi(8,i)=fskyi(8,j)
113 i=j
114 j=j+j
115 ELSE
116 j=ir+1
117 ENDIF
118 GO TO 20
119 ENDIF
120 isky(i)=iia
121 fskyi(1,i)=rra1
122 fskyi(2,i)=rra2
123 fskyi(3,i)=rra3
124 fskyi(4,i)=rra4
125 fskyi(5,i)=rra5
126 fskyi(6,i)=rra6
127 fskyi(7,i)=rra7
128 fskyi(8,i)=rra8
129 GO TO 10
130 ELSE
131100 CONTINUE
132 IF(l>1)THEN
133 l=l-1
134 iia =isky(l)
135 rra1=fskyi(1,l)
136 rra2=fskyi(2,l)
137 rra3=fskyi(3,l)
138 rra4=fskyi(4,l)
139 rra5=fskyi(5,l)
140 rra6=fskyi(6,l)
141 rra7=fskyi(7,l)
142 rra8=fskyi(8,l)
143 rra9=fskyi(9,l)
144 rra10=fskyi(10,l)
145 ELSE
146 iia =isky(ir)
147 rra1=fskyi(1,ir)
148 rra2=fskyi(2,ir)
149 rra3=fskyi(3,ir)
150 rra4=fskyi(4,ir)
151 rra5=fskyi(5,ir)
152 rra6=fskyi(6,ir)
153 rra7=fskyi(7,ir)
154 rra8=fskyi(8,ir)
155 rra9=fskyi(9,ir)
156 rra10=fskyi(10,ir)
157 isky(ir)=isky(1)
158 fskyi(1,ir)=fskyi(1,1)
159 fskyi(2,ir)=fskyi(2,1)
160 fskyi(3,ir)=fskyi(3,1)
161 fskyi(4,ir)=fskyi(4,1)
162 fskyi(5,ir)=fskyi(5,1)
163 fskyi(6,ir)=fskyi(6,1)
164 fskyi(7,ir)=fskyi(7,1)
165 fskyi(8,ir)=fskyi(8,1)
166 fskyi(9,ir)=fskyi(9,1)
167 fskyi(10,ir)=fskyi(10,1)
168 ir=ir-1
169
170 IF(ir<=1)THEN
171 isky(1)=iia
172 fskyi(1,1)=rra1
173 fskyi(2,1)=rra2
174 fskyi(3,1)=rra3
175 fskyi(4,1)=rra4
176 fskyi(5,1)=rra5
177 fskyi(6,1)=rra6
178 fskyi(7,1)=rra7
179 fskyi(8,1)=rra8
180 fskyi(9,1)=rra9
181 fskyi(10,1)=rra10
182 RETURN
183 ENDIF
184 ENDIF
185 i=l
186 j=l+l
187200 IF(j<=ir)THEN
188 IF(j<ir)THEN
189 IF(isky(j)<isky(j+1))j=j+1
190 ENDIF
191 IF(iia<isky(j))THEN
192 isky(i)=isky(j)
193 fskyi(1,i)=fskyi(1,j)
194 fskyi(2,i)=fskyi(2,j)
195 fskyi(3,i)=fskyi(3,j)
196 fskyi(4,i)=fskyi(4,j)
197 fskyi(5,i)=fskyi(5,j)
198 fskyi(6,i)=fskyi(6,j)
199 fskyi(7,i)=fskyi(7,j)
200 fskyi(8,i)=fskyi(8,j)
201 fskyi(9,i)=fskyi(9,j)
202 fskyi(10,i)=fskyi(10,j)
203 i=j
204 j=j+j
205 ELSE
206 j=ir+1
207 ENDIF
208 GO TO 200
209 ENDIF
210 isky(i)=iia
211 fskyi(1,i)=rra1
212 fskyi(2,i)=rra2
213 fskyi(3,i)=rra3
214 fskyi(4,i)=rra4
215 fskyi(5,i)=rra5
216 fskyi(6,i)=rra6
217 fskyi(7,i)=rra7
218 fskyi(8,i)=rra8
219 fskyi(9,i)=rra9
220 fskyi(10,i)=rra10
221 GO TO 100
222 ENDIF
223
224 RETURN