Rework documentation for lratsubst in hope of greater clarity.
[maxima.git] / share / fftpack5 / lisp / r1f3kf.lisp
blob8f5c6bc2a903fd837352e9d095b342e18788a6f3
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 (defun r1f3kf (ido l1 cc in1 ch in2 wa1 wa2)
21 (declare (type (array double-float (*)) wa2 wa1 ch cc)
22 (type (f2cl-lib:integer4) in2 in1 l1 ido))
23 (f2cl-lib:with-multi-array-data
24 ((cc double-float cc-%data% cc-%offset%)
25 (ch double-float ch-%data% ch-%offset%)
26 (wa1 double-float wa1-%data% wa1-%offset%)
27 (wa2 double-float wa2-%data% wa2-%offset%))
28 (prog ((ic 0) (i 0) (idp2 0) (k 0) (taui 0.0d0) (taur 0.0d0) (arg 0.0d0))
29 (declare (type (double-float) arg taur taui)
30 (type (f2cl-lib:integer4) k idp2 i ic))
31 (setf arg (/ (* 2.0d0 4.0d0 (atan 1.0d0)) 3.0d0))
32 (setf taur (cos arg))
33 (setf taui (sin arg))
34 (f2cl-lib:fdo (k 1 (f2cl-lib:int-add k 1))
35 ((> k l1) nil)
36 (tagbody
37 (setf (f2cl-lib:fref ch-%data%
38 (1 1 1 k)
39 ((1 in2) (1 ido) (1 3) (1 l1))
40 ch-%offset%)
42 (f2cl-lib:fref cc-%data%
43 (1 1 k 1)
44 ((1 in1) (1 ido) (1 l1) (1 3))
45 cc-%offset%)
47 (f2cl-lib:fref cc-%data%
48 (1 1 k 2)
49 ((1 in1) (1 ido) (1 l1) (1 3))
50 cc-%offset%)
51 (f2cl-lib:fref cc-%data%
52 (1 1 k 3)
53 ((1 in1) (1 ido) (1 l1) (1 3))
54 cc-%offset%))))
55 (setf (f2cl-lib:fref ch-%data%
56 (1 1 3 k)
57 ((1 in2) (1 ido) (1 3) (1 l1))
58 ch-%offset%)
59 (* taui
61 (f2cl-lib:fref cc-%data%
62 (1 1 k 3)
63 ((1 in1) (1 ido) (1 l1) (1 3))
64 cc-%offset%)
65 (f2cl-lib:fref cc-%data%
66 (1 1 k 2)
67 ((1 in1) (1 ido) (1 l1) (1 3))
68 cc-%offset%))))
69 (setf (f2cl-lib:fref ch-%data%
70 (1 ido 2 k)
71 ((1 in2) (1 ido) (1 3) (1 l1))
72 ch-%offset%)
74 (f2cl-lib:fref cc-%data%
75 (1 1 k 1)
76 ((1 in1) (1 ido) (1 l1) (1 3))
77 cc-%offset%)
78 (* taur
80 (f2cl-lib:fref cc-%data%
81 (1 1 k 2)
82 ((1 in1) (1 ido) (1 l1) (1 3))
83 cc-%offset%)
84 (f2cl-lib:fref cc-%data%
85 (1 1 k 3)
86 ((1 in1) (1 ido) (1 l1) (1 3))
87 cc-%offset%)))))
88 label101))
89 (if (= ido 1) (go end_label))
90 (setf idp2 (f2cl-lib:int-add ido 2))
91 (f2cl-lib:fdo (k 1 (f2cl-lib:int-add k 1))
92 ((> k l1) nil)
93 (tagbody
94 (f2cl-lib:fdo (i 3 (f2cl-lib:int-add i 2))
95 ((> i ido) nil)
96 (tagbody
97 (setf ic (f2cl-lib:int-sub idp2 i))
98 (setf (f2cl-lib:fref ch-%data%
99 (1 (f2cl-lib:int-sub i 1) 1 k)
100 ((1 in2) (1 ido) (1 3) (1 l1))
101 ch-%offset%)
103 (f2cl-lib:fref cc-%data%
104 (1 (f2cl-lib:int-sub i 1) k 1)
105 ((1 in1) (1 ido) (1 l1) (1 3))
106 cc-%offset%)
109 (f2cl-lib:fref wa1-%data%
110 ((f2cl-lib:int-sub i 2))
111 ((1 ido))
112 wa1-%offset%)
113 (f2cl-lib:fref cc-%data%
114 (1 (f2cl-lib:int-sub i 1) k 2)
115 ((1 in1) (1 ido) (1 l1) (1 3))
116 cc-%offset%))
118 (f2cl-lib:fref wa1-%data%
119 ((f2cl-lib:int-sub i 1))
120 ((1 ido))
121 wa1-%offset%)
122 (f2cl-lib:fref cc-%data%
123 (1 i k 2)
124 ((1 in1) (1 ido) (1 l1) (1 3))
125 cc-%offset%))
128 (f2cl-lib:fref wa2-%data%
129 ((f2cl-lib:int-sub i 2))
130 ((1 ido))
131 wa2-%offset%)
132 (f2cl-lib:fref cc-%data%
133 (1 (f2cl-lib:int-sub i 1) k 3)
134 ((1 in1) (1 ido) (1 l1) (1 3))
135 cc-%offset%))
137 (f2cl-lib:fref wa2-%data%
138 ((f2cl-lib:int-sub i 1))
139 ((1 ido))
140 wa2-%offset%)
141 (f2cl-lib:fref cc-%data%
142 (1 i k 3)
143 ((1 in1) (1 ido) (1 l1) (1 3))
144 cc-%offset%))))))
145 (setf (f2cl-lib:fref ch-%data%
146 (1 i 1 k)
147 ((1 in2) (1 ido) (1 3) (1 l1))
148 ch-%offset%)
150 (f2cl-lib:fref cc-%data%
151 (1 i k 1)
152 ((1 in1) (1 ido) (1 l1) (1 3))
153 cc-%offset%)
157 (f2cl-lib:fref wa1-%data%
158 ((f2cl-lib:int-sub i 2))
159 ((1 ido))
160 wa1-%offset%)
161 (f2cl-lib:fref cc-%data%
162 (1 i k 2)
163 ((1 in1) (1 ido) (1 l1) (1 3))
164 cc-%offset%))
166 (f2cl-lib:fref wa1-%data%
167 ((f2cl-lib:int-sub i 1))
168 ((1 ido))
169 wa1-%offset%)
170 (f2cl-lib:fref cc-%data%
171 (1 (f2cl-lib:int-sub i 1) k 2)
172 ((1 in1) (1 ido) (1 l1) (1 3))
173 cc-%offset%)))
176 (f2cl-lib:fref wa2-%data%
177 ((f2cl-lib:int-sub i 2))
178 ((1 ido))
179 wa2-%offset%)
180 (f2cl-lib:fref cc-%data%
181 (1 i k 3)
182 ((1 in1) (1 ido) (1 l1) (1 3))
183 cc-%offset%))
185 (f2cl-lib:fref wa2-%data%
186 ((f2cl-lib:int-sub i 1))
187 ((1 ido))
188 wa2-%offset%)
189 (f2cl-lib:fref cc-%data%
190 (1 (f2cl-lib:int-sub i 1) k 3)
191 ((1 in1) (1 ido) (1 l1) (1 3))
192 cc-%offset%))))))
193 (setf (f2cl-lib:fref ch-%data%
194 (1 (f2cl-lib:int-sub i 1) 3 k)
195 ((1 in2) (1 ido) (1 3) (1 l1))
196 ch-%offset%)
198 (f2cl-lib:fref cc-%data%
199 (1 (f2cl-lib:int-sub i 1) k 1)
200 ((1 in1) (1 ido) (1 l1) (1 3))
201 cc-%offset%)
202 (* taur
205 (f2cl-lib:fref wa1-%data%
206 ((f2cl-lib:int-sub i 2))
207 ((1 ido))
208 wa1-%offset%)
209 (f2cl-lib:fref cc-%data%
210 (1 (f2cl-lib:int-sub i 1) k 2)
211 ((1 in1) (1 ido) (1 l1) (1 3))
212 cc-%offset%))
214 (f2cl-lib:fref wa1-%data%
215 ((f2cl-lib:int-sub i 1))
216 ((1 ido))
217 wa1-%offset%)
218 (f2cl-lib:fref cc-%data%
219 (1 i k 2)
220 ((1 in1) (1 ido) (1 l1) (1 3))
221 cc-%offset%))
224 (f2cl-lib:fref wa2-%data%
225 ((f2cl-lib:int-sub i 2))
226 ((1 ido))
227 wa2-%offset%)
228 (f2cl-lib:fref cc-%data%
229 (1 (f2cl-lib:int-sub i 1) k 3)
230 ((1 in1) (1 ido) (1 l1) (1 3))
231 cc-%offset%))
233 (f2cl-lib:fref wa2-%data%
234 ((f2cl-lib:int-sub i 1))
235 ((1 ido))
236 wa2-%offset%)
237 (f2cl-lib:fref cc-%data%
238 (1 i k 3)
239 ((1 in1) (1 ido) (1 l1) (1 3))
240 cc-%offset%)))))
241 (* taui
244 (f2cl-lib:fref wa1-%data%
245 ((f2cl-lib:int-sub i 2))
246 ((1 ido))
247 wa1-%offset%)
248 (f2cl-lib:fref cc-%data%
249 (1 i k 2)
250 ((1 in1) (1 ido) (1 l1) (1 3))
251 cc-%offset%))
253 (f2cl-lib:fref wa1-%data%
254 ((f2cl-lib:int-sub i 1))
255 ((1 ido))
256 wa1-%offset%)
257 (f2cl-lib:fref cc-%data%
258 (1 (f2cl-lib:int-sub i 1) k 2)
259 ((1 in1) (1 ido) (1 l1) (1 3))
260 cc-%offset%))
263 (f2cl-lib:fref wa2-%data%
264 ((f2cl-lib:int-sub i 2))
265 ((1 ido))
266 wa2-%offset%)
267 (f2cl-lib:fref cc-%data%
268 (1 i k 3)
269 ((1 in1) (1 ido) (1 l1) (1 3))
270 cc-%offset%))
272 (f2cl-lib:fref wa2-%data%
273 ((f2cl-lib:int-sub i 1))
274 ((1 ido))
275 wa2-%offset%)
276 (f2cl-lib:fref cc-%data%
277 (1 (f2cl-lib:int-sub i 1) k 3)
278 ((1 in1) (1 ido) (1 l1) (1 3))
279 cc-%offset%)))))))
280 (setf (f2cl-lib:fref ch-%data%
281 (1 (f2cl-lib:int-sub ic 1) 2 k)
282 ((1 in2) (1 ido) (1 3) (1 l1))
283 ch-%offset%)
286 (f2cl-lib:fref cc-%data%
287 (1 (f2cl-lib:int-sub i 1) k 1)
288 ((1 in1) (1 ido) (1 l1) (1 3))
289 cc-%offset%)
290 (* taur
293 (f2cl-lib:fref wa1-%data%
294 ((f2cl-lib:int-sub i 2))
295 ((1 ido))
296 wa1-%offset%)
297 (f2cl-lib:fref cc-%data%
298 (1 (f2cl-lib:int-sub i 1) k 2)
299 ((1 in1) (1 ido) (1 l1) (1 3))
300 cc-%offset%))
302 (f2cl-lib:fref wa1-%data%
303 ((f2cl-lib:int-sub i 1))
304 ((1 ido))
305 wa1-%offset%)
306 (f2cl-lib:fref cc-%data%
307 (1 i k 2)
308 ((1 in1) (1 ido) (1 l1) (1 3))
309 cc-%offset%))
312 (f2cl-lib:fref wa2-%data%
313 ((f2cl-lib:int-sub i 2))
314 ((1 ido))
315 wa2-%offset%)
316 (f2cl-lib:fref cc-%data%
317 (1 (f2cl-lib:int-sub i 1) k 3)
318 ((1 in1) (1 ido) (1 l1) (1 3))
319 cc-%offset%))
321 (f2cl-lib:fref wa2-%data%
322 ((f2cl-lib:int-sub i 1))
323 ((1 ido))
324 wa2-%offset%)
325 (f2cl-lib:fref cc-%data%
326 (1 i k 3)
327 ((1 in1) (1 ido) (1 l1) (1 3))
328 cc-%offset%))))))
329 (* taui
332 (f2cl-lib:fref wa1-%data%
333 ((f2cl-lib:int-sub i 2))
334 ((1 ido))
335 wa1-%offset%)
336 (f2cl-lib:fref cc-%data%
337 (1 i k 2)
338 ((1 in1) (1 ido) (1 l1) (1 3))
339 cc-%offset%))
341 (f2cl-lib:fref wa1-%data%
342 ((f2cl-lib:int-sub i 1))
343 ((1 ido))
344 wa1-%offset%)
345 (f2cl-lib:fref cc-%data%
346 (1 (f2cl-lib:int-sub i 1) k 2)
347 ((1 in1) (1 ido) (1 l1) (1 3))
348 cc-%offset%))
351 (f2cl-lib:fref wa2-%data%
352 ((f2cl-lib:int-sub i 2))
353 ((1 ido))
354 wa2-%offset%)
355 (f2cl-lib:fref cc-%data%
356 (1 i k 3)
357 ((1 in1) (1 ido) (1 l1) (1 3))
358 cc-%offset%))
360 (f2cl-lib:fref wa2-%data%
361 ((f2cl-lib:int-sub i 1))
362 ((1 ido))
363 wa2-%offset%)
364 (f2cl-lib:fref cc-%data%
365 (1 (f2cl-lib:int-sub i 1) k 3)
366 ((1 in1) (1 ido) (1 l1) (1 3))
367 cc-%offset%)))))))
368 (setf (f2cl-lib:fref ch-%data%
369 (1 i 3 k)
370 ((1 in2) (1 ido) (1 3) (1 l1))
371 ch-%offset%)
373 (f2cl-lib:fref cc-%data%
374 (1 i k 1)
375 ((1 in1) (1 ido) (1 l1) (1 3))
376 cc-%offset%)
377 (* taur
381 (f2cl-lib:fref wa1-%data%
382 ((f2cl-lib:int-sub i 2))
383 ((1 ido))
384 wa1-%offset%)
385 (f2cl-lib:fref cc-%data%
386 (1 i k 2)
387 ((1 in1) (1 ido) (1 l1) (1 3))
388 cc-%offset%))
390 (f2cl-lib:fref wa1-%data%
391 ((f2cl-lib:int-sub i 1))
392 ((1 ido))
393 wa1-%offset%)
394 (f2cl-lib:fref cc-%data%
395 (1 (f2cl-lib:int-sub i 1) k 2)
396 ((1 in1) (1 ido) (1 l1) (1 3))
397 cc-%offset%)))
400 (f2cl-lib:fref wa2-%data%
401 ((f2cl-lib:int-sub i 2))
402 ((1 ido))
403 wa2-%offset%)
404 (f2cl-lib:fref cc-%data%
405 (1 i k 3)
406 ((1 in1) (1 ido) (1 l1) (1 3))
407 cc-%offset%))
409 (f2cl-lib:fref wa2-%data%
410 ((f2cl-lib:int-sub i 1))
411 ((1 ido))
412 wa2-%offset%)
413 (f2cl-lib:fref cc-%data%
414 (1 (f2cl-lib:int-sub i 1) k 3)
415 ((1 in1) (1 ido) (1 l1) (1 3))
416 cc-%offset%)))))
417 (* taui
421 (f2cl-lib:fref wa2-%data%
422 ((f2cl-lib:int-sub i 2))
423 ((1 ido))
424 wa2-%offset%)
425 (f2cl-lib:fref cc-%data%
426 (1 (f2cl-lib:int-sub i 1) k 3)
427 ((1 in1) (1 ido) (1 l1) (1 3))
428 cc-%offset%))
430 (f2cl-lib:fref wa2-%data%
431 ((f2cl-lib:int-sub i 1))
432 ((1 ido))
433 wa2-%offset%)
434 (f2cl-lib:fref cc-%data%
435 (1 i k 3)
436 ((1 in1) (1 ido) (1 l1) (1 3))
437 cc-%offset%)))
440 (f2cl-lib:fref wa1-%data%
441 ((f2cl-lib:int-sub i 2))
442 ((1 ido))
443 wa1-%offset%)
444 (f2cl-lib:fref cc-%data%
445 (1 (f2cl-lib:int-sub i 1) k 2)
446 ((1 in1) (1 ido) (1 l1) (1 3))
447 cc-%offset%))
449 (f2cl-lib:fref wa1-%data%
450 ((f2cl-lib:int-sub i 1))
451 ((1 ido))
452 wa1-%offset%)
453 (f2cl-lib:fref cc-%data%
454 (1 i k 2)
455 ((1 in1) (1 ido) (1 l1) (1 3))
456 cc-%offset%)))))))
457 (setf (f2cl-lib:fref ch-%data%
458 (1 ic 2 k)
459 ((1 in2) (1 ido) (1 3) (1 l1))
460 ch-%offset%)
462 (* taui
466 (f2cl-lib:fref wa2-%data%
467 ((f2cl-lib:int-sub i 2))
468 ((1 ido))
469 wa2-%offset%)
470 (f2cl-lib:fref cc-%data%
471 (1 (f2cl-lib:int-sub i 1) k 3)
472 ((1 in1) (1 ido) (1 l1) (1 3))
473 cc-%offset%))
475 (f2cl-lib:fref wa2-%data%
476 ((f2cl-lib:int-sub i 1))
477 ((1 ido))
478 wa2-%offset%)
479 (f2cl-lib:fref cc-%data%
480 (1 i k 3)
481 ((1 in1) (1 ido) (1 l1) (1 3))
482 cc-%offset%)))
485 (f2cl-lib:fref wa1-%data%
486 ((f2cl-lib:int-sub i 2))
487 ((1 ido))
488 wa1-%offset%)
489 (f2cl-lib:fref cc-%data%
490 (1 (f2cl-lib:int-sub i 1) k 2)
491 ((1 in1) (1 ido) (1 l1) (1 3))
492 cc-%offset%))
494 (f2cl-lib:fref wa1-%data%
495 ((f2cl-lib:int-sub i 1))
496 ((1 ido))
497 wa1-%offset%)
498 (f2cl-lib:fref cc-%data%
499 (1 i k 2)
500 ((1 in1) (1 ido) (1 l1) (1 3))
501 cc-%offset%)))))
503 (f2cl-lib:fref cc-%data%
504 (1 i k 1)
505 ((1 in1) (1 ido) (1 l1) (1 3))
506 cc-%offset%)
507 (* taur
511 (f2cl-lib:fref wa1-%data%
512 ((f2cl-lib:int-sub i 2))
513 ((1 ido))
514 wa1-%offset%)
515 (f2cl-lib:fref cc-%data%
516 (1 i k 2)
517 ((1 in1) (1 ido) (1 l1) (1 3))
518 cc-%offset%))
520 (f2cl-lib:fref wa1-%data%
521 ((f2cl-lib:int-sub i 1))
522 ((1 ido))
523 wa1-%offset%)
524 (f2cl-lib:fref cc-%data%
525 (1 (f2cl-lib:int-sub i 1) k 2)
526 ((1 in1) (1 ido) (1 l1) (1 3))
527 cc-%offset%)))
530 (f2cl-lib:fref wa2-%data%
531 ((f2cl-lib:int-sub i 2))
532 ((1 ido))
533 wa2-%offset%)
534 (f2cl-lib:fref cc-%data%
535 (1 i k 3)
536 ((1 in1) (1 ido) (1 l1) (1 3))
537 cc-%offset%))
539 (f2cl-lib:fref wa2-%data%
540 ((f2cl-lib:int-sub i 1))
541 ((1 ido))
542 wa2-%offset%)
543 (f2cl-lib:fref cc-%data%
544 (1 (f2cl-lib:int-sub i 1) k 3)
545 ((1 in1) (1 ido) (1 l1) (1 3))
546 cc-%offset%))))))))
547 label102))
548 label103))
549 (go end_label)
550 end_label
551 (return (values nil nil nil nil nil nil nil nil)))))
553 (in-package #:cl-user)
554 #+#.(cl:if (cl:find-package '#:f2cl) '(and) '(or))
555 (eval-when (:load-toplevel :compile-toplevel :execute)
556 (setf (gethash 'fortran-to-lisp::r1f3kf
557 fortran-to-lisp::*f2cl-function-info*)
558 (fortran-to-lisp::make-f2cl-finfo
559 :arg-types '((fortran-to-lisp::integer4) (fortran-to-lisp::integer4)
560 (array double-float (*)) (fortran-to-lisp::integer4)
561 (array double-float (*)) (fortran-to-lisp::integer4)
562 (array double-float (*)) (array double-float (*)))
563 :return-values '(nil nil nil nil nil nil nil nil)
564 :calls 'nil)))