PLaSK library
Loading...
Searching...
No Matches
c1fm1f.c
Go to the documentation of this file.
1/* c1fm1f.f -- translated by f2c (version 20100827).
2 You must link the resulting object file with libf2c:
3 on Microsoft Windows system, link with libf2c.lib;
4 on Linux or Unix systems, link with .../path/to/libf2c.a -lm
5 or, if you install libf2c.a in a standard place, with -lf2c -lm
6 -- in that order, at the end of the command line, as in
7 cc *.o -lf2c -lm
8 Source for libf2c is in /netlib/f2c/libf2c.zip, e.g.,
9
10 http://www.netlib.org/f2c/libf2c.zip
11*/
12
13#include "f2c.h"
14
15/* Table of constant values */
16
17static integer c__2 = 2;
18
19/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
20/* * * */
21/* * copyright (c) 2011 by UCAR * */
22/* * * */
23/* * University Corporation for Atmospheric Research * */
24/* * * */
25/* * all rights reserved * */
26/* * * */
27/* * FFTPACK version 5.1 * */
28/* * * */
29/* * A Fortran Package of Fast Fourier * */
30/* * * */
31/* * Subroutines and Example Programs * */
32/* * * */
33/* * by * */
34/* * * */
35/* * Paul Swarztrauber and Dick Valent * */
36/* * * */
37/* * of * */
38/* * * */
39/* * the National Center for Atmospheric Research * */
40/* * * */
41/* * Boulder, Colorado (80307) U.S.A. * */
42/* * * */
43/* * which is sponsored by * */
44/* * * */
45/* * the National Science Foundation * */
46/* * * */
47/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
48
49/* Subroutine */ int c1fm1f_(integer *n, integer *inc, doublecomplex *c__,
50 doublereal *ch, doublereal *wa, doublereal *fnf, doublereal *fac)
51{
52 /* System generated locals */
53 integer i__1, i__2;
54
55 /* Local variables */
56 integer k1, l1, l2, na, nf, ip, iw, lid, ido, nbr, inc2;
57 extern /* Subroutine */ int c1f2kf_(), c1f3kf_(), c1f4kf_(), c1f5kf_(),
58 c1fgkf_();
59
60
61/* FFTPACK 5.1 auxiliary routine */
62
63 /* Parameter adjustments */
64 --fac;
65 --wa;
66 --ch;
67 --c__;
68
69 /* Function Body */
70 inc2 = *inc + *inc;
71 nf = (integer) (*fnf);
72 na = 0;
73 l1 = 1;
74 iw = 1;
75 i__1 = nf;
76 for (k1 = 1; k1 <= i__1; ++k1) {
77 ip = (integer) fac[k1];
78 l2 = ip * l1;
79 ido = *n / l2;
80 lid = l1 * ido;
81/* Computing MIN */
82 i__2 = ip - 2;
83 nbr = na + 1 + (min(i__2,4) << 1);
84 switch (nbr) {
85 case 1: goto L52;
86 case 2: goto L62;
87 case 3: goto L53;
88 case 4: goto L63;
89 case 5: goto L54;
90 case 6: goto L64;
91 case 7: goto L55;
92 case 8: goto L65;
93 case 9: goto L56;
94 case 10: goto L66;
95 }
96L52:
97 c1f2kf_(&ido, &l1, &na, &c__[1], &inc2, &ch[1], &c__2, &wa[iw]);
98 goto L120;
99L62:
100 c1f2kf_(&ido, &l1, &na, &ch[1], &c__2, &c__[1], &inc2, &wa[iw]);
101 goto L120;
102L53:
103 c1f3kf_(&ido, &l1, &na, &c__[1], &inc2, &ch[1], &c__2, &wa[iw]);
104 goto L120;
105L63:
106 c1f3kf_(&ido, &l1, &na, &ch[1], &c__2, &c__[1], &inc2, &wa[iw]);
107 goto L120;
108L54:
109 c1f4kf_(&ido, &l1, &na, &c__[1], &inc2, &ch[1], &c__2, &wa[iw]);
110 goto L120;
111L64:
112 c1f4kf_(&ido, &l1, &na, &ch[1], &c__2, &c__[1], &inc2, &wa[iw]);
113 goto L120;
114L55:
115 c1f5kf_(&ido, &l1, &na, &c__[1], &inc2, &ch[1], &c__2, &wa[iw]);
116 goto L120;
117L65:
118 c1f5kf_(&ido, &l1, &na, &ch[1], &c__2, &c__[1], &inc2, &wa[iw]);
119 goto L120;
120L56:
121 c1fgkf_(&ido, &ip, &l1, &lid, &na, &c__[1], &c__[1], &inc2, &ch[1], &
122 ch[1], &c__2, &wa[iw]);
123 goto L120;
124L66:
125 c1fgkf_(&ido, &ip, &l1, &lid, &na, &ch[1], &ch[1], &c__2, &c__[1], &
126 c__[1], &inc2, &wa[iw]);
127L120:
128 l1 = l2;
129 iw += (ip - 1) * (ido + ido);
130 if (ip <= 5) {
131 na = 1 - na;
132 }
133/* L125: */
134 }
135 return 0;
136} /* c1fm1f_ */
137