Merge branch 'master' into bug-4403-remove-polyfill
[maxima.git] / share / fftpack5 / lisp / cmf3kf.lisp
blobae3f3338458b85fa2e9f285813c26064b89bd965
1 ;;; Compiled by f2cl version:
2 ;;; ("f2cl1.l,v 95098eb54f13 2013/04/01 00:45:16 toy $"
3 ;;; "f2cl2.l,v 95098eb54f13 2013/04/01 00:45:16 toy $"
4 ;;; "f2cl3.l,v 96616d88fb7e 2008/02/22 22:19:34 rtoy $"
5 ;;; "f2cl4.l,v 96616d88fb7e 2008/02/22 22:19:34 rtoy $"
6 ;;; "f2cl5.l,v 95098eb54f13 2013/04/01 00:45:16 toy $"
7 ;;; "f2cl6.l,v 1d5cbacbb977 2008/08/24 00:56:27 rtoy $"
8 ;;; "macros.l,v 1409c1352feb 2013/03/24 20:44:50 toy $")
10 ;;; Using Lisp CMU Common Lisp snapshot-2020-04 (21D Unicode)
11 ;;;
12 ;;; Options: ((:prune-labels nil) (:auto-save t) (:relaxed-array-decls t)
13 ;;; (:coerce-assigns :as-needed) (:array-type ':array)
14 ;;; (:array-slicing t) (:declare-common nil)
15 ;;; (:float-format single-float))
17 (in-package "FFTPACK5")
20 (let ((taur -0.5d0) (taui -0.866025403784439d0))
21 (declare (type (double-float) taur taui))
22 (defun cmf3kf (lot ido l1 na cc im1 in1 ch im2 in2 wa)
23 (declare (type (array double-float (*)) wa ch cc)
24 (type (f2cl-lib:integer4) in2 im2 in1 im1 na l1 ido lot))
25 (f2cl-lib:with-multi-array-data
26 ((cc double-float cc-%data% cc-%offset%)
27 (ch double-float ch-%data% ch-%offset%)
28 (wa double-float wa-%data% wa-%offset%))
29 (prog ((di3 0.0d0) (di2 0.0d0) (dr3 0.0d0) (dr2 0.0d0) (i 0) (m2 0)
30 (ci3 0.0d0) (cr3 0.0d0) (ci2 0.0d0) (ti2 0.0d0) (cr2 0.0d0)
31 (tr2 0.0d0) (m1 0) (k 0) (sn 0.0d0) (m2s 0) (m1d 0))
32 (declare (type (f2cl-lib:integer4) m1d m2s k m1 m2 i)
33 (type (double-float) sn tr2 cr2 ti2 ci2 cr3 ci3 dr2 dr3 di2
34 di3))
35 (setf m1d
36 (f2cl-lib:int-add
37 (f2cl-lib:int-mul (f2cl-lib:int-sub lot 1) im1)
38 1))
39 (setf m2s (f2cl-lib:int-sub 1 im2))
40 (if (> ido 1) (go label102))
41 (setf sn (/ 1.0d0 (f2cl-lib:freal (f2cl-lib:int-mul 3 l1))))
42 (if (= na 1) (go label106))
43 (f2cl-lib:fdo (k 1 (f2cl-lib:int-add k 1))
44 ((> k l1) nil)
45 (tagbody
46 (f2cl-lib:fdo (m1 1 (f2cl-lib:int-add m1 im1))
47 ((> m1 m1d) nil)
48 (tagbody
49 (setf tr2
51 (f2cl-lib:fref cc-%data%
52 (1 m1 k 1 2)
53 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
54 cc-%offset%)
55 (f2cl-lib:fref cc-%data%
56 (1 m1 k 1 3)
57 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
58 cc-%offset%)))
59 (setf cr2
61 (f2cl-lib:fref cc-%data%
62 (1 m1 k 1 1)
63 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
64 cc-%offset%)
65 (* taur tr2)))
66 (setf (f2cl-lib:fref cc-%data%
67 (1 m1 k 1 1)
68 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
69 cc-%offset%)
70 (* sn
72 (f2cl-lib:fref cc-%data%
73 (1 m1 k 1 1)
74 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
75 cc-%offset%)
76 tr2)))
77 (setf ti2
79 (f2cl-lib:fref cc-%data%
80 (2 m1 k 1 2)
81 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
82 cc-%offset%)
83 (f2cl-lib:fref cc-%data%
84 (2 m1 k 1 3)
85 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
86 cc-%offset%)))
87 (setf ci2
89 (f2cl-lib:fref cc-%data%
90 (2 m1 k 1 1)
91 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
92 cc-%offset%)
93 (* taur ti2)))
94 (setf (f2cl-lib:fref cc-%data%
95 (2 m1 k 1 1)
96 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
97 cc-%offset%)
98 (* sn
100 (f2cl-lib:fref cc-%data%
101 (2 m1 k 1 1)
102 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
103 cc-%offset%)
104 ti2)))
105 (setf cr3
106 (* taui
108 (f2cl-lib:fref cc-%data%
109 (1 m1 k 1 2)
110 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
111 cc-%offset%)
112 (f2cl-lib:fref cc-%data%
113 (1 m1 k 1 3)
114 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
115 cc-%offset%))))
116 (setf ci3
117 (* taui
119 (f2cl-lib:fref cc-%data%
120 (2 m1 k 1 2)
121 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
122 cc-%offset%)
123 (f2cl-lib:fref cc-%data%
124 (2 m1 k 1 3)
125 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
126 cc-%offset%))))
127 (setf (f2cl-lib:fref cc-%data%
128 (1 m1 k 1 2)
129 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
130 cc-%offset%)
131 (* sn (- cr2 ci3)))
132 (setf (f2cl-lib:fref cc-%data%
133 (1 m1 k 1 3)
134 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
135 cc-%offset%)
136 (* sn (+ cr2 ci3)))
137 (setf (f2cl-lib:fref cc-%data%
138 (2 m1 k 1 2)
139 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
140 cc-%offset%)
141 (* sn (+ ci2 cr3)))
142 (setf (f2cl-lib:fref cc-%data%
143 (2 m1 k 1 3)
144 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
145 cc-%offset%)
146 (* sn (- ci2 cr3)))
147 label101))))
148 label101
149 (go end_label)
150 label106
151 (f2cl-lib:fdo (k 1 (f2cl-lib:int-add k 1))
152 ((> k l1) nil)
153 (tagbody
154 (setf m2 m2s)
155 (f2cl-lib:fdo (m1 1 (f2cl-lib:int-add m1 im1))
156 ((> m1 m1d) nil)
157 (tagbody
158 (setf m2 (f2cl-lib:int-add m2 im2))
159 (setf tr2
161 (f2cl-lib:fref cc-%data%
162 (1 m1 k 1 2)
163 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
164 cc-%offset%)
165 (f2cl-lib:fref cc-%data%
166 (1 m1 k 1 3)
167 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
168 cc-%offset%)))
169 (setf cr2
171 (f2cl-lib:fref cc-%data%
172 (1 m1 k 1 1)
173 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
174 cc-%offset%)
175 (* taur tr2)))
176 (setf (f2cl-lib:fref ch-%data%
177 (1 m2 k 1 1)
178 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
179 ch-%offset%)
180 (* sn
182 (f2cl-lib:fref cc-%data%
183 (1 m1 k 1 1)
184 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
185 cc-%offset%)
186 tr2)))
187 (setf ti2
189 (f2cl-lib:fref cc-%data%
190 (2 m1 k 1 2)
191 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
192 cc-%offset%)
193 (f2cl-lib:fref cc-%data%
194 (2 m1 k 1 3)
195 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
196 cc-%offset%)))
197 (setf ci2
199 (f2cl-lib:fref cc-%data%
200 (2 m1 k 1 1)
201 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
202 cc-%offset%)
203 (* taur ti2)))
204 (setf (f2cl-lib:fref ch-%data%
205 (2 m2 k 1 1)
206 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
207 ch-%offset%)
208 (* sn
210 (f2cl-lib:fref cc-%data%
211 (2 m1 k 1 1)
212 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
213 cc-%offset%)
214 ti2)))
215 (setf cr3
216 (* taui
218 (f2cl-lib:fref cc-%data%
219 (1 m1 k 1 2)
220 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
221 cc-%offset%)
222 (f2cl-lib:fref cc-%data%
223 (1 m1 k 1 3)
224 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
225 cc-%offset%))))
226 (setf ci3
227 (* taui
229 (f2cl-lib:fref cc-%data%
230 (2 m1 k 1 2)
231 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
232 cc-%offset%)
233 (f2cl-lib:fref cc-%data%
234 (2 m1 k 1 3)
235 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
236 cc-%offset%))))
237 (setf (f2cl-lib:fref ch-%data%
238 (1 m2 k 2 1)
239 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
240 ch-%offset%)
241 (* sn (- cr2 ci3)))
242 (setf (f2cl-lib:fref ch-%data%
243 (1 m2 k 3 1)
244 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
245 ch-%offset%)
246 (* sn (+ cr2 ci3)))
247 (setf (f2cl-lib:fref ch-%data%
248 (2 m2 k 2 1)
249 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
250 ch-%offset%)
251 (* sn (+ ci2 cr3)))
252 (setf (f2cl-lib:fref ch-%data%
253 (2 m2 k 3 1)
254 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
255 ch-%offset%)
256 (* sn (- ci2 cr3)))
257 label107))))
258 label107
259 (go end_label)
260 label102
261 (f2cl-lib:fdo (k 1 (f2cl-lib:int-add k 1))
262 ((> k l1) nil)
263 (tagbody
264 (setf m2 m2s)
265 (f2cl-lib:fdo (m1 1 (f2cl-lib:int-add m1 im1))
266 ((> m1 m1d) nil)
267 (tagbody
268 (setf m2 (f2cl-lib:int-add m2 im2))
269 (setf tr2
271 (f2cl-lib:fref cc-%data%
272 (1 m1 k 1 2)
273 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
274 cc-%offset%)
275 (f2cl-lib:fref cc-%data%
276 (1 m1 k 1 3)
277 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
278 cc-%offset%)))
279 (setf cr2
281 (f2cl-lib:fref cc-%data%
282 (1 m1 k 1 1)
283 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
284 cc-%offset%)
285 (* taur tr2)))
286 (setf (f2cl-lib:fref ch-%data%
287 (1 m2 k 1 1)
288 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
289 ch-%offset%)
291 (f2cl-lib:fref cc-%data%
292 (1 m1 k 1 1)
293 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
294 cc-%offset%)
295 tr2))
296 (setf ti2
298 (f2cl-lib:fref cc-%data%
299 (2 m1 k 1 2)
300 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
301 cc-%offset%)
302 (f2cl-lib:fref cc-%data%
303 (2 m1 k 1 3)
304 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
305 cc-%offset%)))
306 (setf ci2
308 (f2cl-lib:fref cc-%data%
309 (2 m1 k 1 1)
310 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
311 cc-%offset%)
312 (* taur ti2)))
313 (setf (f2cl-lib:fref ch-%data%
314 (2 m2 k 1 1)
315 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
316 ch-%offset%)
318 (f2cl-lib:fref cc-%data%
319 (2 m1 k 1 1)
320 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
321 cc-%offset%)
322 ti2))
323 (setf cr3
324 (* taui
326 (f2cl-lib:fref cc-%data%
327 (1 m1 k 1 2)
328 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
329 cc-%offset%)
330 (f2cl-lib:fref cc-%data%
331 (1 m1 k 1 3)
332 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
333 cc-%offset%))))
334 (setf ci3
335 (* taui
337 (f2cl-lib:fref cc-%data%
338 (2 m1 k 1 2)
339 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
340 cc-%offset%)
341 (f2cl-lib:fref cc-%data%
342 (2 m1 k 1 3)
343 ((1 2) (1 in1) (1 l1) (1 ido) (1 3))
344 cc-%offset%))))
345 (setf (f2cl-lib:fref ch-%data%
346 (1 m2 k 2 1)
347 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
348 ch-%offset%)
349 (- cr2 ci3))
350 (setf (f2cl-lib:fref ch-%data%
351 (1 m2 k 3 1)
352 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
353 ch-%offset%)
354 (+ cr2 ci3))
355 (setf (f2cl-lib:fref ch-%data%
356 (2 m2 k 2 1)
357 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
358 ch-%offset%)
359 (+ ci2 cr3))
360 (setf (f2cl-lib:fref ch-%data%
361 (2 m2 k 3 1)
362 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
363 ch-%offset%)
364 (- ci2 cr3))
365 label103))))
366 label103
367 (f2cl-lib:fdo (i 2 (f2cl-lib:int-add i 1))
368 ((> i ido) nil)
369 (tagbody
370 (f2cl-lib:fdo (k 1 (f2cl-lib:int-add k 1))
371 ((> k l1) nil)
372 (tagbody
373 (setf m2 m2s)
374 (f2cl-lib:fdo (m1 1 (f2cl-lib:int-add m1 im1))
375 ((> m1 m1d) nil)
376 (tagbody
377 (setf m2 (f2cl-lib:int-add m2 im2))
378 (setf tr2
380 (f2cl-lib:fref cc-%data%
381 (1 m1 k i 2)
382 ((1 2) (1 in1) (1 l1) (1 ido)
383 (1 3))
384 cc-%offset%)
385 (f2cl-lib:fref cc-%data%
386 (1 m1 k i 3)
387 ((1 2) (1 in1) (1 l1) (1 ido)
388 (1 3))
389 cc-%offset%)))
390 (setf cr2
392 (f2cl-lib:fref cc-%data%
393 (1 m1 k i 1)
394 ((1 2) (1 in1) (1 l1) (1 ido)
395 (1 3))
396 cc-%offset%)
397 (* taur tr2)))
398 (setf (f2cl-lib:fref ch-%data%
399 (1 m2 k 1 i)
400 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
401 ch-%offset%)
403 (f2cl-lib:fref cc-%data%
404 (1 m1 k i 1)
405 ((1 2) (1 in1) (1 l1) (1 ido)
406 (1 3))
407 cc-%offset%)
408 tr2))
409 (setf ti2
411 (f2cl-lib:fref cc-%data%
412 (2 m1 k i 2)
413 ((1 2) (1 in1) (1 l1) (1 ido)
414 (1 3))
415 cc-%offset%)
416 (f2cl-lib:fref cc-%data%
417 (2 m1 k i 3)
418 ((1 2) (1 in1) (1 l1) (1 ido)
419 (1 3))
420 cc-%offset%)))
421 (setf ci2
423 (f2cl-lib:fref cc-%data%
424 (2 m1 k i 1)
425 ((1 2) (1 in1) (1 l1) (1 ido)
426 (1 3))
427 cc-%offset%)
428 (* taur ti2)))
429 (setf (f2cl-lib:fref ch-%data%
430 (2 m2 k 1 i)
431 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
432 ch-%offset%)
434 (f2cl-lib:fref cc-%data%
435 (2 m1 k i 1)
436 ((1 2) (1 in1) (1 l1) (1 ido)
437 (1 3))
438 cc-%offset%)
439 ti2))
440 (setf cr3
441 (* taui
443 (f2cl-lib:fref cc-%data%
444 (1 m1 k i 2)
445 ((1 2) (1 in1) (1 l1) (1 ido)
446 (1 3))
447 cc-%offset%)
448 (f2cl-lib:fref cc-%data%
449 (1 m1 k i 3)
450 ((1 2) (1 in1) (1 l1) (1 ido)
451 (1 3))
452 cc-%offset%))))
453 (setf ci3
454 (* taui
456 (f2cl-lib:fref cc-%data%
457 (2 m1 k i 2)
458 ((1 2) (1 in1) (1 l1) (1 ido)
459 (1 3))
460 cc-%offset%)
461 (f2cl-lib:fref cc-%data%
462 (2 m1 k i 3)
463 ((1 2) (1 in1) (1 l1) (1 ido)
464 (1 3))
465 cc-%offset%))))
466 (setf dr2 (- cr2 ci3))
467 (setf dr3 (+ cr2 ci3))
468 (setf di2 (+ ci2 cr3))
469 (setf di3 (- ci2 cr3))
470 (setf (f2cl-lib:fref ch-%data%
471 (2 m2 k 2 i)
472 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
473 ch-%offset%)
476 (f2cl-lib:fref wa-%data%
477 (i 1 1)
478 ((1 ido) (1 2) (1 2))
479 wa-%offset%)
480 di2)
482 (f2cl-lib:fref wa-%data%
483 (i 1 2)
484 ((1 ido) (1 2) (1 2))
485 wa-%offset%)
486 dr2)))
487 (setf (f2cl-lib:fref ch-%data%
488 (1 m2 k 2 i)
489 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
490 ch-%offset%)
493 (f2cl-lib:fref wa-%data%
494 (i 1 1)
495 ((1 ido) (1 2) (1 2))
496 wa-%offset%)
497 dr2)
499 (f2cl-lib:fref wa-%data%
500 (i 1 2)
501 ((1 ido) (1 2) (1 2))
502 wa-%offset%)
503 di2)))
504 (setf (f2cl-lib:fref ch-%data%
505 (2 m2 k 3 i)
506 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
507 ch-%offset%)
510 (f2cl-lib:fref wa-%data%
511 (i 2 1)
512 ((1 ido) (1 2) (1 2))
513 wa-%offset%)
514 di3)
516 (f2cl-lib:fref wa-%data%
517 (i 2 2)
518 ((1 ido) (1 2) (1 2))
519 wa-%offset%)
520 dr3)))
521 (setf (f2cl-lib:fref ch-%data%
522 (1 m2 k 3 i)
523 ((1 2) (1 in2) (1 l1) (1 3) (1 ido))
524 ch-%offset%)
527 (f2cl-lib:fref wa-%data%
528 (i 2 1)
529 ((1 ido) (1 2) (1 2))
530 wa-%offset%)
531 dr3)
533 (f2cl-lib:fref wa-%data%
534 (i 2 2)
535 ((1 ido) (1 2) (1 2))
536 wa-%offset%)
537 di3)))
538 label104))))
539 label104
540 label105))
541 (go end_label)
542 end_label
543 (return (values nil nil nil nil nil nil nil nil nil nil nil))))))
545 (in-package #:cl-user)
546 #+#.(cl:if (cl:find-package '#:f2cl) '(and) '(or))
547 (eval-when (:load-toplevel :compile-toplevel :execute)
548 (setf (gethash 'fortran-to-lisp::cmf3kf
549 fortran-to-lisp::*f2cl-function-info*)
550 (fortran-to-lisp::make-f2cl-finfo
551 :arg-types '((fortran-to-lisp::integer4) (fortran-to-lisp::integer4)
552 (fortran-to-lisp::integer4) (fortran-to-lisp::integer4)
553 (array double-float (*)) (fortran-to-lisp::integer4)
554 (fortran-to-lisp::integer4) (array double-float (*))
555 (fortran-to-lisp::integer4) (fortran-to-lisp::integer4)
556 (array double-float (*)))
557 :return-values '(nil nil nil nil nil nil nil nil nil nil nil)
558 :calls 'nil)))