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)
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 r1fgkf (ido ip l1 idl1 cc c1 c2 in1 ch ch2 in2 wa
)
21 (declare (type (array double-float
(*)) wa ch2 ch c2 c1 cc
)
22 (type (f2cl-lib:integer4
) in2 in1 idl1 l1 ip ido
))
23 (f2cl-lib:with-multi-array-data
24 ((cc double-float cc-%data% cc-%offset%
)
25 (c1 double-float c1-%data% c1-%offset%
)
26 (c2 double-float c2-%data% c2-%offset%
)
27 (ch double-float ch-%data% ch-%offset%
)
28 (ch2 double-float ch2-%data% ch2-%offset%
)
29 (wa double-float wa-%data% wa-%offset%
))
30 (prog ((ic 0) (j2 0) (ar2h 0.0d0
) (ai2 0.0d0
) (ar2 0.0d0
) (ds2 0.0d0
)
31 (dc2 0.0d0
) (ar1h 0.0d0
) (lc 0) (l 0) (ai1 0.0d0
) (ar1 0.0d0
) (jc 0)
32 (i 0) (idij 0) (is 0) (k 0) (j 0) (ik 0) (nbd 0) (idp2 0) (ipp2 0)
33 (ipph 0) (dsp 0.0d0
) (dcp 0.0d0
) (arg 0.0d0
) (tpi 0.0d0
))
34 (declare (type (double-float) tpi arg dcp dsp ar1 ai1 ar1h dc2 ds2 ar2
36 (type (f2cl-lib:integer4
) ipph ipp2 idp2 nbd ik j k is idij i jc
38 (setf tpi
(* 2.0d0
4.0d0
(atan 1.0d0
)))
39 (setf arg
(/ tpi
(f2cl-lib:ffloat ip
)))
42 (setf ipph
(the f2cl-lib
:integer4
(truncate (+ ip
1) 2)))
43 (setf ipp2
(f2cl-lib:int-add ip
2))
44 (setf idp2
(f2cl-lib:int-add ido
2))
45 (setf nbd
(the f2cl-lib
:integer4
(truncate (- ido
1) 2)))
46 (if (= ido
1) (go label119
))
47 (f2cl-lib:fdo
(ik 1 (f2cl-lib:int-add ik
1))
50 (setf (f2cl-lib:fref ch2-%data%
52 ((1 in2
) (1 idl1
) (1 ip
))
54 (f2cl-lib:fref c2-%data%
56 ((1 in1
) (1 idl1
) (1 ip
))
59 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
62 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
65 (setf (f2cl-lib:fref ch-%data%
67 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
69 (f2cl-lib:fref c1-%data%
71 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
75 (if (> nbd l1
) (go label107
))
76 (setf is
(f2cl-lib:int-sub ido
))
77 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
80 (setf is
(f2cl-lib:int-add is ido
))
82 (f2cl-lib:fdo
(i 3 (f2cl-lib:int-add i
2))
85 (setf idij
(f2cl-lib:int-add idij
2))
86 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
89 (setf (f2cl-lib:fref ch-%data%
90 (1 (f2cl-lib:int-sub i
1) k j
)
91 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
95 (f2cl-lib:fref wa-%data%
96 ((f2cl-lib:int-sub idij
1))
99 (f2cl-lib:fref c1-%data%
100 (1 (f2cl-lib:int-sub i
1) k j
)
101 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
104 (f2cl-lib:fref wa-%data%
108 (f2cl-lib:fref c1-%data%
110 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
112 (setf (f2cl-lib:fref ch-%data%
114 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
118 (f2cl-lib:fref wa-%data%
119 ((f2cl-lib:int-sub idij
1))
122 (f2cl-lib:fref c1-%data%
124 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
127 (f2cl-lib:fref wa-%data%
131 (f2cl-lib:fref c1-%data%
132 (1 (f2cl-lib:int-sub i
1) k j
)
133 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
140 (setf is
(f2cl-lib:int-sub ido
))
141 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
144 (setf is
(f2cl-lib:int-add is ido
))
145 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
149 (f2cl-lib:fdo
(i 3 (f2cl-lib:int-add i
2))
152 (setf idij
(f2cl-lib:int-add idij
2))
153 (setf (f2cl-lib:fref ch-%data%
154 (1 (f2cl-lib:int-sub i
1) k j
)
155 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
159 (f2cl-lib:fref wa-%data%
160 ((f2cl-lib:int-sub idij
1))
163 (f2cl-lib:fref c1-%data%
164 (1 (f2cl-lib:int-sub i
1) k j
)
165 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
168 (f2cl-lib:fref wa-%data%
172 (f2cl-lib:fref c1-%data%
174 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
176 (setf (f2cl-lib:fref ch-%data%
178 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
182 (f2cl-lib:fref wa-%data%
183 ((f2cl-lib:int-sub idij
1))
186 (f2cl-lib:fref c1-%data%
188 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
191 (f2cl-lib:fref wa-%data%
195 (f2cl-lib:fref c1-%data%
196 (1 (f2cl-lib:int-sub i
1) k j
)
197 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
203 (if (< nbd l1
) (go label115
))
204 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
207 (setf jc
(f2cl-lib:int-sub ipp2 j
))
208 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
211 (f2cl-lib:fdo
(i 3 (f2cl-lib:int-add i
2))
214 (setf (f2cl-lib:fref c1-%data%
215 (1 (f2cl-lib:int-sub i
1) k j
)
216 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
219 (f2cl-lib:fref ch-%data%
220 (1 (f2cl-lib:int-sub i
1) k j
)
221 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
223 (f2cl-lib:fref ch-%data%
224 (1 (f2cl-lib:int-sub i
1) k jc
)
225 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
227 (setf (f2cl-lib:fref c1-%data%
228 (1 (f2cl-lib:int-sub i
1) k jc
)
229 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
232 (f2cl-lib:fref ch-%data%
234 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
236 (f2cl-lib:fref ch-%data%
238 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
240 (setf (f2cl-lib:fref c1-%data%
242 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
245 (f2cl-lib:fref ch-%data%
247 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
249 (f2cl-lib:fref ch-%data%
251 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
253 (setf (f2cl-lib:fref c1-%data%
255 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
258 (f2cl-lib:fref ch-%data%
259 (1 (f2cl-lib:int-sub i
1) k jc
)
260 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
262 (f2cl-lib:fref ch-%data%
263 (1 (f2cl-lib:int-sub i
1) k j
)
264 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
271 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
274 (setf jc
(f2cl-lib:int-sub ipp2 j
))
275 (f2cl-lib:fdo
(i 3 (f2cl-lib:int-add i
2))
278 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
281 (setf (f2cl-lib:fref c1-%data%
282 (1 (f2cl-lib:int-sub i
1) k j
)
283 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
286 (f2cl-lib:fref ch-%data%
287 (1 (f2cl-lib:int-sub i
1) k j
)
288 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
290 (f2cl-lib:fref ch-%data%
291 (1 (f2cl-lib:int-sub i
1) k jc
)
292 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
294 (setf (f2cl-lib:fref c1-%data%
295 (1 (f2cl-lib:int-sub i
1) k jc
)
296 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
299 (f2cl-lib:fref ch-%data%
301 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
303 (f2cl-lib:fref ch-%data%
305 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
307 (setf (f2cl-lib:fref c1-%data%
309 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
312 (f2cl-lib:fref ch-%data%
314 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
316 (f2cl-lib:fref ch-%data%
318 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
320 (setf (f2cl-lib:fref c1-%data%
322 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
325 (f2cl-lib:fref ch-%data%
326 (1 (f2cl-lib:int-sub i
1) k jc
)
327 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
329 (f2cl-lib:fref ch-%data%
330 (1 (f2cl-lib:int-sub i
1) k j
)
331 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
338 (f2cl-lib:fdo
(ik 1 (f2cl-lib:int-add ik
1))
341 (setf (f2cl-lib:fref c2-%data%
343 ((1 in1
) (1 idl1
) (1 ip
))
345 (f2cl-lib:fref ch2-%data%
347 ((1 in2
) (1 idl1
) (1 ip
))
351 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
354 (setf jc
(f2cl-lib:int-sub ipp2 j
))
355 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
358 (setf (f2cl-lib:fref c1-%data%
360 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
363 (f2cl-lib:fref ch-%data%
365 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
367 (f2cl-lib:fref ch-%data%
369 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
371 (setf (f2cl-lib:fref c1-%data%
373 ((1 in1
) (1 ido
) (1 l1
) (1 ip
))
376 (f2cl-lib:fref ch-%data%
378 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
380 (f2cl-lib:fref ch-%data%
382 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
388 (f2cl-lib:fdo
(l 2 (f2cl-lib:int-add l
1))
391 (setf lc
(f2cl-lib:int-sub ipp2 l
))
392 (setf ar1h
(- (* dcp ar1
) (* dsp ai1
)))
393 (setf ai1
(+ (* dcp ai1
) (* dsp ar1
)))
395 (f2cl-lib:fdo
(ik 1 (f2cl-lib:int-add ik
1))
398 (setf (f2cl-lib:fref ch2-%data%
400 ((1 in2
) (1 idl1
) (1 ip
))
403 (f2cl-lib:fref c2-%data%
405 ((1 in1
) (1 idl1
) (1 ip
))
408 (f2cl-lib:fref c2-%data%
410 ((1 in1
) (1 idl1
) (1 ip
))
412 (setf (f2cl-lib:fref ch2-%data%
414 ((1 in2
) (1 idl1
) (1 ip
))
417 (f2cl-lib:fref c2-%data%
419 ((1 in1
) (1 idl1
) (1 ip
))
426 (f2cl-lib:fdo
(j 3 (f2cl-lib:int-add j
1))
429 (setf jc
(f2cl-lib:int-sub ipp2 j
))
430 (setf ar2h
(- (* dc2 ar2
) (* ds2 ai2
)))
431 (setf ai2
(+ (* dc2 ai2
) (* ds2 ar2
)))
433 (f2cl-lib:fdo
(ik 1 (f2cl-lib:int-add ik
1))
436 (setf (f2cl-lib:fref ch2-%data%
438 ((1 in2
) (1 idl1
) (1 ip
))
441 (f2cl-lib:fref ch2-%data%
443 ((1 in2
) (1 idl1
) (1 ip
))
446 (f2cl-lib:fref c2-%data%
448 ((1 in1
) (1 idl1
) (1 ip
))
450 (setf (f2cl-lib:fref ch2-%data%
452 ((1 in2
) (1 idl1
) (1 ip
))
455 (f2cl-lib:fref ch2-%data%
457 ((1 in2
) (1 idl1
) (1 ip
))
460 (f2cl-lib:fref c2-%data%
462 ((1 in1
) (1 idl1
) (1 ip
))
467 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
470 (f2cl-lib:fdo
(ik 1 (f2cl-lib:int-add ik
1))
473 (setf (f2cl-lib:fref ch2-%data%
475 ((1 in2
) (1 idl1
) (1 ip
))
478 (f2cl-lib:fref ch2-%data%
480 ((1 in2
) (1 idl1
) (1 ip
))
482 (f2cl-lib:fref c2-%data%
484 ((1 in1
) (1 idl1
) (1 ip
))
488 (if (< ido l1
) (go label132
))
489 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
492 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
495 (setf (f2cl-lib:fref cc-%data%
497 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
499 (f2cl-lib:fref ch-%data%
501 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
507 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
510 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
513 (setf (f2cl-lib:fref cc-%data%
515 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
517 (f2cl-lib:fref ch-%data%
519 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
524 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
527 (setf jc
(f2cl-lib:int-sub ipp2 j
))
528 (setf j2
(f2cl-lib:int-add j j
))
529 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
532 (setf (f2cl-lib:fref cc-%data%
533 (1 ido
(f2cl-lib:int-sub j2
2) k
)
534 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
536 (f2cl-lib:fref ch-%data%
538 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
540 (setf (f2cl-lib:fref cc-%data%
541 (1 1 (f2cl-lib:int-sub j2
1) k
)
542 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
544 (f2cl-lib:fref ch-%data%
546 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
550 (if (= ido
1) (go end_label
))
551 (if (< nbd l1
) (go label141
))
552 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
555 (setf jc
(f2cl-lib:int-sub ipp2 j
))
556 (setf j2
(f2cl-lib:int-add j j
))
557 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
560 (f2cl-lib:fdo
(i 3 (f2cl-lib:int-add i
2))
563 (setf ic
(f2cl-lib:int-sub idp2 i
))
564 (setf (f2cl-lib:fref cc-%data%
565 (1 (f2cl-lib:int-sub i
1)
566 (f2cl-lib:int-sub j2
1) k
)
567 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
570 (f2cl-lib:fref ch-%data%
571 (1 (f2cl-lib:int-sub i
1) k j
)
572 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
574 (f2cl-lib:fref ch-%data%
575 (1 (f2cl-lib:int-sub i
1) k jc
)
576 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
578 (setf (f2cl-lib:fref cc-%data%
579 (1 (f2cl-lib:int-sub ic
1)
580 (f2cl-lib:int-sub j2
2) k
)
581 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
584 (f2cl-lib:fref ch-%data%
585 (1 (f2cl-lib:int-sub i
1) k j
)
586 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
588 (f2cl-lib:fref ch-%data%
589 (1 (f2cl-lib:int-sub i
1) k jc
)
590 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
592 (setf (f2cl-lib:fref cc-%data%
593 (1 i
(f2cl-lib:int-sub j2
1) k
)
594 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
597 (f2cl-lib:fref ch-%data%
599 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
601 (f2cl-lib:fref ch-%data%
603 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
605 (setf (f2cl-lib:fref cc-%data%
606 (1 ic
(f2cl-lib:int-sub j2
2) k
)
607 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
610 (f2cl-lib:fref ch-%data%
612 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
614 (f2cl-lib:fref ch-%data%
616 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
623 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
626 (setf jc
(f2cl-lib:int-sub ipp2 j
))
627 (setf j2
(f2cl-lib:int-add j j
))
628 (f2cl-lib:fdo
(i 3 (f2cl-lib:int-add i
2))
631 (setf ic
(f2cl-lib:int-sub idp2 i
))
632 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
635 (setf (f2cl-lib:fref cc-%data%
636 (1 (f2cl-lib:int-sub i
1)
637 (f2cl-lib:int-sub j2
1) k
)
638 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
641 (f2cl-lib:fref ch-%data%
642 (1 (f2cl-lib:int-sub i
1) k j
)
643 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
645 (f2cl-lib:fref ch-%data%
646 (1 (f2cl-lib:int-sub i
1) k jc
)
647 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
649 (setf (f2cl-lib:fref cc-%data%
650 (1 (f2cl-lib:int-sub ic
1)
651 (f2cl-lib:int-sub j2
2) k
)
652 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
655 (f2cl-lib:fref ch-%data%
656 (1 (f2cl-lib:int-sub i
1) k j
)
657 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
659 (f2cl-lib:fref ch-%data%
660 (1 (f2cl-lib:int-sub i
1) k jc
)
661 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
663 (setf (f2cl-lib:fref cc-%data%
664 (1 i
(f2cl-lib:int-sub j2
1) k
)
665 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
668 (f2cl-lib:fref ch-%data%
670 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
672 (f2cl-lib:fref ch-%data%
674 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
676 (setf (f2cl-lib:fref cc-%data%
677 (1 ic
(f2cl-lib:int-sub j2
2) k
)
678 ((1 in1
) (1 ido
) (1 ip
) (1 l1
))
681 (f2cl-lib:fref ch-%data%
683 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
685 (f2cl-lib:fref ch-%data%
687 ((1 in2
) (1 ido
) (1 l1
) (1 ip
))
694 (return (values nil nil nil nil nil nil nil nil nil nil nil nil
)))))
696 (in-package #:cl-user
)
697 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
698 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
699 (setf (gethash 'fortran-to-lisp
::r1fgkf
700 fortran-to-lisp
::*f2cl-function-info
*)
701 (fortran-to-lisp::make-f2cl-finfo
702 :arg-types
'((fortran-to-lisp::integer4
) (fortran-to-lisp::integer4
)
703 (fortran-to-lisp::integer4
) (fortran-to-lisp::integer4
)
704 (array double-float
(*)) (array double-float
(*))
705 (array double-float
(*)) (fortran-to-lisp::integer4
)
706 (array double-float
(*)) (array double-float
(*))
707 (fortran-to-lisp::integer4
) (array double-float
(*)))
708 :return-values
'(nil nil nil nil nil nil nil nil nil nil nil nil
)