50 integer cc_dim1, cc_dim2, cc_dim3, cc_offset, ch_dim1, ch_dim2, ch_offset,
51 wa_dim1, wa_offset, i__1, i__2;
55 doublereal sn, ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2,
63 wa_offset = 1 + (wa_dim1 << 2);
68 cc_offset = 1 + cc_dim1 * (1 + cc_dim2 * (1 + cc_dim3));
72 ch_offset = 1 + ch_dim1 * (1 + ch_dim2 * 5);
84 for (k = 1; k <= i__1; ++k) {
85 ti1 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] - cc[(k + (
86 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2];
87 ti2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] + cc[(k + (
88 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2];
89 tr4 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] - cc[(k
90 + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 2];
91 ti3 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] + cc[(k
92 + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 2];
93 tr1 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] - cc[(k + (
94 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1];
95 tr2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] + cc[(k + (
96 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1];
97 ti4 = cc[(k + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 1] - cc[(k
98 + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1];
99 tr3 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] + cc[(k
100 + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 1];
101 cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] = sn * (tr2 + tr3);
102 cc[(k + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1] = sn * (tr2 - tr3)
104 cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] = sn * (ti2 + ti3);
105 cc[(k + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2] = sn * (ti2 - ti3)
107 cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] = sn * (tr1 +
109 cc[(k + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 1] = sn * (tr1 -
111 cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] = sn * (ti1 +
113 cc[(k + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 2] = sn * (ti1 -
120 for (k = 1; k <= i__1; ++k) {
121 ti1 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] - cc[(k + (
122 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2];
123 ti2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] + cc[(k + (
124 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2];
125 tr4 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] - cc[(k
126 + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 2];
127 ti3 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] + cc[(k
128 + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 2];
129 tr1 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] - cc[(k + (
130 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1];
131 tr2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] + cc[(k + (
132 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1];
133 ti4 = cc[(k + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 1] - cc[(k
134 + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1];
135 tr3 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] + cc[(k
136 + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 1];
137 ch[(k + ch_dim2 * 5) * ch_dim1 + 1] = sn * (tr2 + tr3);
138 ch[(k + ch_dim2 * 7) * ch_dim1 + 1] = sn * (tr2 - tr3);
139 ch[(k + ch_dim2 * 5) * ch_dim1 + 2] = sn * (ti2 + ti3);
140 ch[(k + ch_dim2 * 7) * ch_dim1 + 2] = sn * (ti2 - ti3);
141 ch[(k + ch_dim2 * 6) * ch_dim1 + 1] = sn * (tr1 + tr4);
142 ch[(k + (ch_dim2 << 3)) * ch_dim1 + 1] = sn * (tr1 - tr4);
143 ch[(k + ch_dim2 * 6) * ch_dim1 + 2] = sn * (ti1 + ti4);
144 ch[(k + (ch_dim2 << 3)) * ch_dim1 + 2] = sn * (ti1 - ti4);
150 for (k = 1; k <= i__1; ++k) {
151 ti1 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] - cc[(k + (
152 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2];
153 ti2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] + cc[(k + (
154 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2];
155 tr4 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] - cc[(k
156 + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 2];
157 ti3 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] + cc[(k
158 + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 2];
159 tr1 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] - cc[(k + (
160 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1];
161 tr2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] + cc[(k + (
162 cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1];
163 ti4 = cc[(k + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 1] - cc[(k
164 + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1];
165 tr3 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] + cc[(k
166 + ((cc_dim3 << 2) + 1) * cc_dim2) * cc_dim1 + 1];
167 ch[(k + ch_dim2 * 5) * ch_dim1 + 1] = tr2 + tr3;
168 ch[(k + ch_dim2 * 7) * ch_dim1 + 1] = tr2 - tr3;
169 ch[(k + ch_dim2 * 5) * ch_dim1 + 2] = ti2 + ti3;
170 ch[(k + ch_dim2 * 7) * ch_dim1 + 2] = ti2 - ti3;
171 ch[(k + ch_dim2 * 6) * ch_dim1 + 1] = tr1 + tr4;
172 ch[(k + (ch_dim2 << 3)) * ch_dim1 + 1] = tr1 - tr4;
173 ch[(k + ch_dim2 * 6) * ch_dim1 + 2] = ti1 + ti4;
174 ch[(k + (ch_dim2 << 3)) * ch_dim1 + 2] = ti1 - ti4;
178 for (i__ = 2; i__ <= i__1; ++i__) {
180 for (k = 1; k <= i__2; ++k) {
181 ti1 = cc[(k + (i__ + cc_dim3) * cc_dim2) * cc_dim1 + 2] - cc[(k +
182 (i__ + cc_dim3 * 3) * cc_dim2) * cc_dim1 + 2];
183 ti2 = cc[(k + (i__ + cc_dim3) * cc_dim2) * cc_dim1 + 2] + cc[(k +
184 (i__ + cc_dim3 * 3) * cc_dim2) * cc_dim1 + 2];
185 ti3 = cc[(k + (i__ + (cc_dim3 << 1)) * cc_dim2) * cc_dim1 + 2] +
186 cc[(k + (i__ + (cc_dim3 << 2)) * cc_dim2) * cc_dim1 + 2];
187 tr4 = cc[(k + (i__ + (cc_dim3 << 1)) * cc_dim2) * cc_dim1 + 2] -
188 cc[(k + (i__ + (cc_dim3 << 2)) * cc_dim2) * cc_dim1 + 2];
189 tr1 = cc[(k + (i__ + cc_dim3) * cc_dim2) * cc_dim1 + 1] - cc[(k +
190 (i__ + cc_dim3 * 3) * cc_dim2) * cc_dim1 + 1];
191 tr2 = cc[(k + (i__ + cc_dim3) * cc_dim2) * cc_dim1 + 1] + cc[(k +
192 (i__ + cc_dim3 * 3) * cc_dim2) * cc_dim1 + 1];
193 ti4 = cc[(k + (i__ + (cc_dim3 << 2)) * cc_dim2) * cc_dim1 + 1] -
194 cc[(k + (i__ + (cc_dim3 << 1)) * cc_dim2) * cc_dim1 + 1];
195 tr3 = cc[(k + (i__ + (cc_dim3 << 1)) * cc_dim2) * cc_dim1 + 1] +
196 cc[(k + (i__ + (cc_dim3 << 2)) * cc_dim2) * cc_dim1 + 1];
197 ch[(k + ((i__ << 2) + 1) * ch_dim2) * ch_dim1 + 1] = tr2 + tr3;
199 ch[(k + ((i__ << 2) + 1) * ch_dim2) * ch_dim1 + 2] = ti2 + ti3;
205 ch[(k + ((i__ << 2) + 2) * ch_dim2) * ch_dim1 + 1] = wa[i__ + (
206 wa_dim1 << 2)] * cr2 + wa[i__ + wa_dim1 * 7] * ci2;
207 ch[(k + ((i__ << 2) + 2) * ch_dim2) * ch_dim1 + 2] = wa[i__ + (
208 wa_dim1 << 2)] * ci2 - wa[i__ + wa_dim1 * 7] * cr2;
209 ch[(k + ((i__ << 2) + 3) * ch_dim2) * ch_dim1 + 1] = wa[i__ +
210 wa_dim1 * 5] * cr3 + wa[i__ + (wa_dim1 << 3)] * ci3;
211 ch[(k + ((i__ << 2) + 3) * ch_dim2) * ch_dim1 + 2] = wa[i__ +
212 wa_dim1 * 5] * ci3 - wa[i__ + (wa_dim1 << 3)] * cr3;
213 ch[(k + ((i__ << 2) + 4) * ch_dim2) * ch_dim1 + 1] = wa[i__ +
214 wa_dim1 * 6] * cr4 + wa[i__ + wa_dim1 * 9] * ci4;
215 ch[(k + ((i__ << 2) + 4) * ch_dim2) * ch_dim1 + 2] = wa[i__ +
216 wa_dim1 * 6] * ci4 - wa[i__ + wa_dim1 * 9] * cr4;