51 integer ch_dim1, ch_dim2, ch_dim3, ch_offset, cc_dim1, cc_dim2, cc_dim3,
52 cc_offset, c1_dim1, c1_dim2, c1_dim3, c1_offset, c2_dim1, c2_dim2,
53 c2_offset, ch2_dim1, ch2_dim2, ch2_offset, i__1, i__2, i__3,
60 integer i__, j, k, l, j2, m1, m2, ic, jc, lc, ik, is;
73 c2_offset = 1 + c2_dim1 * (1 + c2_dim2);
78 c1_offset = 1 + c1_dim1 * (1 + c1_dim2 * (1 + c1_dim3));
83 cc_offset = 1 + cc_dim1 * (1 + cc_dim2 * (1 + cc_dim3));
87 ch2_offset = 1 + ch2_dim1 * (1 + ch2_dim2);
92 ch_offset = 1 + ch_dim1 * (1 + ch_dim2 * (1 + ch_dim3));
96 m1d = (*m - 1) * *im1 + 1;
103 nbd = (*ido - 1) / 2;
105 ipph = (*ip + 1) / 2;
110 for (k = 1; k <= i__1; ++k) {
112 for (i__ = 1; i__ <= i__2; ++i__) {
116 for (m1 = 1; i__4 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__4) {
118 ch[m2 + (i__ + (k + ch_dim3) * ch_dim2) * ch_dim1] = cc[m1 + (
119 i__ + (k * cc_dim3 + 1) * cc_dim2) * cc_dim1];
129 for (i__ = 1; i__ <= i__1; ++i__) {
131 for (k = 1; k <= i__2; ++k) {
135 for (m1 = 1; i__3 < 0 ? m1 >= i__4 : m1 <= i__4; m1 += i__3) {
137 ch[m2 + (i__ + (k + ch_dim3) * ch_dim2) * ch_dim1] = cc[m1 + (
138 i__ + (k * cc_dim3 + 1) * cc_dim2) * cc_dim1];
147 for (j = 2; j <= i__1; ++j) {
151 for (k = 1; k <= i__2; ++k) {
155 for (m1 = 1; i__4 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__4) {
157 ch[m2 + ((k + j * ch_dim3) * ch_dim2 + 1) * ch_dim1] = cc[m1
158 + (*ido + (j2 - 2 + k * cc_dim3) * cc_dim2) * cc_dim1]
159 + cc[m1 + (*ido + (j2 - 2 + k * cc_dim3) * cc_dim2) *
161 ch[m2 + ((k + jc * ch_dim3) * ch_dim2 + 1) * ch_dim1] = cc[m1
162 + ((j2 - 1 + k * cc_dim3) * cc_dim2 + 1) * cc_dim1] +
163 cc[m1 + ((j2 - 1 + k * cc_dim3) * cc_dim2 + 1) *
178 for (j = 2; j <= i__1; ++j) {
181 for (k = 1; k <= i__2; ++k) {
183 for (i__ = 3; i__ <= i__4; i__ += 2) {
188 for (m1 = 1; i__5 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__5) {
190 ch[m2 + (i__ - 1 + (k + j * ch_dim3) * ch_dim2) * ch_dim1]
191 = cc[m1 + (i__ - 1 + ((j << 1) - 1 + k * cc_dim3)
192 * cc_dim2) * cc_dim1] + cc[m1 + (ic - 1 + ((j <<
193 1) - 2 + k * cc_dim3) * cc_dim2) * cc_dim1];
194 ch[m2 + (i__ - 1 + (k + jc * ch_dim3) * ch_dim2) *
195 ch_dim1] = cc[m1 + (i__ - 1 + ((j << 1) - 1 + k *
196 cc_dim3) * cc_dim2) * cc_dim1] - cc[m1 + (ic - 1
197 + ((j << 1) - 2 + k * cc_dim3) * cc_dim2) *
199 ch[m2 + (i__ + (k + j * ch_dim3) * ch_dim2) * ch_dim1] =
200 cc[m1 + (i__ + ((j << 1) - 1 + k * cc_dim3) *
201 cc_dim2) * cc_dim1] - cc[m1 + (ic + ((j << 1) - 2
202 + k * cc_dim3) * cc_dim2) * cc_dim1];
203 ch[m2 + (i__ + (k + jc * ch_dim3) * ch_dim2) * ch_dim1] =
204 cc[m1 + (i__ + ((j << 1) - 1 + k * cc_dim3) *
205 cc_dim2) * cc_dim1] + cc[m1 + (ic + ((j << 1) - 2
206 + k * cc_dim3) * cc_dim2) * cc_dim1];
218 for (j = 2; j <= i__1; ++j) {
221 for (i__ = 3; i__ <= i__2; i__ += 2) {
224 for (k = 1; k <= i__4; ++k) {
228 for (m1 = 1; i__3 < 0 ? m1 >= i__5 : m1 <= i__5; m1 += i__3) {
230 ch[m2 + (i__ - 1 + (k + j * ch_dim3) * ch_dim2) * ch_dim1]
231 = cc[m1 + (i__ - 1 + ((j << 1) - 1 + k * cc_dim3)
232 * cc_dim2) * cc_dim1] + cc[m1 + (ic - 1 + ((j <<
233 1) - 2 + k * cc_dim3) * cc_dim2) * cc_dim1];
234 ch[m2 + (i__ - 1 + (k + jc * ch_dim3) * ch_dim2) *
235 ch_dim1] = cc[m1 + (i__ - 1 + ((j << 1) - 1 + k *
236 cc_dim3) * cc_dim2) * cc_dim1] - cc[m1 + (ic - 1
237 + ((j << 1) - 2 + k * cc_dim3) * cc_dim2) *
239 ch[m2 + (i__ + (k + j * ch_dim3) * ch_dim2) * ch_dim1] =
240 cc[m1 + (i__ + ((j << 1) - 1 + k * cc_dim3) *
241 cc_dim2) * cc_dim1] - cc[m1 + (ic + ((j << 1) - 2
242 + k * cc_dim3) * cc_dim2) * cc_dim1];
243 ch[m2 + (i__ + (k + jc * ch_dim3) * ch_dim2) * ch_dim1] =
244 cc[m1 + (i__ + ((j << 1) - 1 + k * cc_dim3) *
245 cc_dim2) * cc_dim1] + cc[m1 + (ic + ((j << 1) - 2
246 + k * cc_dim3) * cc_dim2) * cc_dim1];
259 for (l = 2; l <= i__1; ++l) {
261 ar1h = dcp * ar1 - dsp * ai1;
262 ai1 = dcp * ai1 + dsp * ar1;
265 for (ik = 1; ik <= i__2; ++ik) {
269 for (m1 = 1; i__3 < 0 ? m1 >= i__4 : m1 <= i__4; m1 += i__3) {
271 c2[m1 + (ik + l * c2_dim2) * c2_dim1] = ch2[m2 + (ik +
272 ch2_dim2) * ch2_dim1] + ar1 * ch2[m2 + (ik + (
273 ch2_dim2 << 1)) * ch2_dim1];
274 c2[m1 + (ik + lc * c2_dim2) * c2_dim1] = ai1 * ch2[m2 + (ik +
275 *ip * ch2_dim2) * ch2_dim1];
285 for (j = 3; j <= i__2; ++j) {
287 ar2h = dc2 * ar2 - ds2 * ai2;
288 ai2 = dc2 * ai2 + ds2 * ar2;
291 for (ik = 1; ik <= i__3; ++ik) {
295 for (m1 = 1; i__5 < 0 ? m1 >= i__4 : m1 <= i__4; m1 += i__5) {
297 c2[m1 + (ik + l * c2_dim2) * c2_dim1] += ar2 * ch2[m2 + (
298 ik + j * ch2_dim2) * ch2_dim1];
299 c2[m1 + (ik + lc * c2_dim2) * c2_dim1] += ai2 * ch2[m2 + (
300 ik + jc * ch2_dim2) * ch2_dim1];
310 for (j = 2; j <= i__1; ++j) {
312 for (ik = 1; ik <= i__2; ++ik) {
316 for (m1 = 1; i__5 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__5) {
318 ch2[m2 + (ik + ch2_dim2) * ch2_dim1] += ch2[m2 + (ik + j *
319 ch2_dim2) * ch2_dim1];
327 for (j = 2; j <= i__1; ++j) {
330 for (k = 1; k <= i__2; ++k) {
334 for (m1 = 1; i__3 < 0 ? m1 >= i__5 : m1 <= i__5; m1 += i__3) {
336 ch[m2 + ((k + j * ch_dim3) * ch_dim2 + 1) * ch_dim1] = c1[m1
337 + ((k + j * c1_dim3) * c1_dim2 + 1) * c1_dim1] - c1[
338 m1 + ((k + jc * c1_dim3) * c1_dim2 + 1) * c1_dim1];
339 ch[m2 + ((k + jc * ch_dim3) * ch_dim2 + 1) * ch_dim1] = c1[m1
340 + ((k + j * c1_dim3) * c1_dim2 + 1) * c1_dim1] + c1[
341 m1 + ((k + jc * c1_dim3) * c1_dim2 + 1) * c1_dim1];
355 for (j = 2; j <= i__1; ++j) {
358 for (k = 1; k <= i__2; ++k) {
360 for (i__ = 3; i__ <= i__3; i__ += 2) {
364 for (m1 = 1; i__4 < 0 ? m1 >= i__5 : m1 <= i__5; m1 += i__4) {
366 ch[m2 + (i__ - 1 + (k + j * ch_dim3) * ch_dim2) * ch_dim1]
367 = c1[m1 + (i__ - 1 + (k + j * c1_dim3) * c1_dim2)
368 * c1_dim1] - c1[m1 + (i__ + (k + jc * c1_dim3) *
370 ch[m2 + (i__ - 1 + (k + jc * ch_dim3) * ch_dim2) *
371 ch_dim1] = c1[m1 + (i__ - 1 + (k + j * c1_dim3) *
372 c1_dim2) * c1_dim1] + c1[m1 + (i__ + (k + jc *
373 c1_dim3) * c1_dim2) * c1_dim1];
374 ch[m2 + (i__ + (k + j * ch_dim3) * ch_dim2) * ch_dim1] =
375 c1[m1 + (i__ + (k + j * c1_dim3) * c1_dim2) *
376 c1_dim1] + c1[m1 + (i__ - 1 + (k + jc * c1_dim3) *
378 ch[m2 + (i__ + (k + jc * ch_dim3) * ch_dim2) * ch_dim1] =
379 c1[m1 + (i__ + (k + j * c1_dim3) * c1_dim2) *
380 c1_dim1] - c1[m1 + (i__ - 1 + (k + jc * c1_dim3) *
393 for (j = 2; j <= i__1; ++j) {
396 for (i__ = 3; i__ <= i__2; i__ += 2) {
398 for (k = 1; k <= i__3; ++k) {
402 for (m1 = 1; i__5 < 0 ? m1 >= i__4 : m1 <= i__4; m1 += i__5) {
404 ch[m2 + (i__ - 1 + (k + j * ch_dim3) * ch_dim2) * ch_dim1]
405 = c1[m1 + (i__ - 1 + (k + j * c1_dim3) * c1_dim2)
406 * c1_dim1] - c1[m1 + (i__ + (k + jc * c1_dim3) *
408 ch[m2 + (i__ - 1 + (k + jc * ch_dim3) * ch_dim2) *
409 ch_dim1] = c1[m1 + (i__ - 1 + (k + j * c1_dim3) *
410 c1_dim2) * c1_dim1] + c1[m1 + (i__ + (k + jc *
411 c1_dim3) * c1_dim2) * c1_dim1];
412 ch[m2 + (i__ + (k + j * ch_dim3) * ch_dim2) * ch_dim1] =
413 c1[m1 + (i__ + (k + j * c1_dim3) * c1_dim2) *
414 c1_dim1] + c1[m1 + (i__ - 1 + (k + jc * c1_dim3) *
416 ch[m2 + (i__ + (k + jc * ch_dim3) * ch_dim2) * ch_dim1] =
417 c1[m1 + (i__ + (k + j * c1_dim3) * c1_dim2) *
418 c1_dim1] - c1[m1 + (i__ - 1 + (k + jc * c1_dim3) *
433 for (ik = 1; ik <= i__1; ++ik) {
437 for (m1 = 1; i__3 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__3) {
439 c2[m1 + (ik + c2_dim2) * c2_dim1] = ch2[m2 + (ik + ch2_dim2) *
446 for (j = 2; j <= i__1; ++j) {
448 for (k = 1; k <= i__3; ++k) {
452 for (m1 = 1; i__5 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__5) {
454 c1[m1 + ((k + j * c1_dim3) * c1_dim2 + 1) * c1_dim1] = ch[m2
455 + ((k + j * ch_dim3) * ch_dim2 + 1) * ch_dim1];
467 for (j = 2; j <= i__1; ++j) {
471 for (i__ = 3; i__ <= i__3; i__ += 2) {
474 for (k = 1; k <= i__5; ++k) {
478 for (m1 = 1; i__4 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__4) {
480 c1[m1 + (i__ - 1 + (k + j * c1_dim3) * c1_dim2) * c1_dim1]
481 = wa[idij - 1] * ch[m2 + (i__ - 1 + (k + j *
482 ch_dim3) * ch_dim2) * ch_dim1] - wa[idij] * ch[m2
483 + (i__ + (k + j * ch_dim3) * ch_dim2) * ch_dim1];
484 c1[m1 + (i__ + (k + j * c1_dim3) * c1_dim2) * c1_dim1] =
485 wa[idij - 1] * ch[m2 + (i__ + (k + j * ch_dim3) *
486 ch_dim2) * ch_dim1] + wa[idij] * ch[m2 + (i__ - 1
487 + (k + j * ch_dim3) * ch_dim2) * ch_dim1];
500 for (j = 2; j <= i__1; ++j) {
503 for (k = 1; k <= i__3; ++k) {
506 for (i__ = 3; i__ <= i__5; i__ += 2) {
511 for (m1 = 1; i__2 < 0 ? m1 >= i__4 : m1 <= i__4; m1 += i__2) {
513 c1[m1 + (i__ - 1 + (k + j * c1_dim3) * c1_dim2) * c1_dim1]
514 = wa[idij - 1] * ch[m2 + (i__ - 1 + (k + j *
515 ch_dim3) * ch_dim2) * ch_dim1] - wa[idij] * ch[m2
516 + (i__ + (k + j * ch_dim3) * ch_dim2) * ch_dim1];
517 c1[m1 + (i__ + (k + j * c1_dim3) * c1_dim2) * c1_dim1] =
518 wa[idij - 1] * ch[m2 + (i__ + (k + j * ch_dim3) *
519 ch_dim2) * ch_dim1] + wa[idij] * ch[m2 + (i__ - 1
520 + (k + j * ch_dim3) * ch_dim2) * ch_dim1];