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 (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
37 (f2cl-lib:int-mul
(f2cl-lib:int-sub lot
1) im1
)
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))
46 (f2cl-lib:fdo
(m1 1 (f2cl-lib:int-add m1 im1
))
51 (f2cl-lib:fref cc-%data%
53 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
55 (f2cl-lib:fref cc-%data%
57 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
61 (f2cl-lib:fref cc-%data%
63 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
66 (setf (f2cl-lib:fref cc-%data%
68 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
72 (f2cl-lib:fref cc-%data%
74 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
79 (f2cl-lib:fref cc-%data%
81 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
83 (f2cl-lib:fref cc-%data%
85 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
89 (f2cl-lib:fref cc-%data%
91 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
94 (setf (f2cl-lib:fref cc-%data%
96 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
100 (f2cl-lib:fref cc-%data%
102 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
108 (f2cl-lib:fref cc-%data%
110 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
112 (f2cl-lib:fref cc-%data%
114 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
119 (f2cl-lib:fref cc-%data%
121 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
123 (f2cl-lib:fref cc-%data%
125 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
127 (setf (f2cl-lib:fref cc-%data%
129 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
132 (setf (f2cl-lib:fref cc-%data%
134 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
137 (setf (f2cl-lib:fref cc-%data%
139 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
142 (setf (f2cl-lib:fref cc-%data%
144 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
151 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
155 (f2cl-lib:fdo
(m1 1 (f2cl-lib:int-add m1 im1
))
158 (setf m2
(f2cl-lib:int-add m2 im2
))
161 (f2cl-lib:fref cc-%data%
163 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
165 (f2cl-lib:fref cc-%data%
167 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
171 (f2cl-lib:fref cc-%data%
173 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
176 (setf (f2cl-lib:fref ch-%data%
178 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
182 (f2cl-lib:fref cc-%data%
184 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
189 (f2cl-lib:fref cc-%data%
191 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
193 (f2cl-lib:fref cc-%data%
195 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
199 (f2cl-lib:fref cc-%data%
201 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
204 (setf (f2cl-lib:fref ch-%data%
206 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
210 (f2cl-lib:fref cc-%data%
212 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
218 (f2cl-lib:fref cc-%data%
220 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
222 (f2cl-lib:fref cc-%data%
224 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
229 (f2cl-lib:fref cc-%data%
231 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
233 (f2cl-lib:fref cc-%data%
235 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
237 (setf (f2cl-lib:fref ch-%data%
239 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
242 (setf (f2cl-lib:fref ch-%data%
244 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
247 (setf (f2cl-lib:fref ch-%data%
249 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
252 (setf (f2cl-lib:fref ch-%data%
254 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
261 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
265 (f2cl-lib:fdo
(m1 1 (f2cl-lib:int-add m1 im1
))
268 (setf m2
(f2cl-lib:int-add m2 im2
))
271 (f2cl-lib:fref cc-%data%
273 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
275 (f2cl-lib:fref cc-%data%
277 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
281 (f2cl-lib:fref cc-%data%
283 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
286 (setf (f2cl-lib:fref ch-%data%
288 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
291 (f2cl-lib:fref cc-%data%
293 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
298 (f2cl-lib:fref cc-%data%
300 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
302 (f2cl-lib:fref cc-%data%
304 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
308 (f2cl-lib:fref cc-%data%
310 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
313 (setf (f2cl-lib:fref ch-%data%
315 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
318 (f2cl-lib:fref cc-%data%
320 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
326 (f2cl-lib:fref cc-%data%
328 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
330 (f2cl-lib:fref cc-%data%
332 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
337 (f2cl-lib:fref cc-%data%
339 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
341 (f2cl-lib:fref cc-%data%
343 ((1 2) (1 in1
) (1 l1
) (1 ido
) (1 3))
345 (setf (f2cl-lib:fref ch-%data%
347 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
350 (setf (f2cl-lib:fref ch-%data%
352 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
355 (setf (f2cl-lib:fref ch-%data%
357 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
360 (setf (f2cl-lib:fref ch-%data%
362 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
367 (f2cl-lib:fdo
(i 2 (f2cl-lib:int-add i
1))
370 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
374 (f2cl-lib:fdo
(m1 1 (f2cl-lib:int-add m1 im1
))
377 (setf m2
(f2cl-lib:int-add m2 im2
))
380 (f2cl-lib:fref cc-%data%
382 ((1 2) (1 in1
) (1 l1
) (1 ido
)
385 (f2cl-lib:fref cc-%data%
387 ((1 2) (1 in1
) (1 l1
) (1 ido
)
392 (f2cl-lib:fref cc-%data%
394 ((1 2) (1 in1
) (1 l1
) (1 ido
)
398 (setf (f2cl-lib:fref ch-%data%
400 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
403 (f2cl-lib:fref cc-%data%
405 ((1 2) (1 in1
) (1 l1
) (1 ido
)
411 (f2cl-lib:fref cc-%data%
413 ((1 2) (1 in1
) (1 l1
) (1 ido
)
416 (f2cl-lib:fref cc-%data%
418 ((1 2) (1 in1
) (1 l1
) (1 ido
)
423 (f2cl-lib:fref cc-%data%
425 ((1 2) (1 in1
) (1 l1
) (1 ido
)
429 (setf (f2cl-lib:fref ch-%data%
431 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
434 (f2cl-lib:fref cc-%data%
436 ((1 2) (1 in1
) (1 l1
) (1 ido
)
443 (f2cl-lib:fref cc-%data%
445 ((1 2) (1 in1
) (1 l1
) (1 ido
)
448 (f2cl-lib:fref cc-%data%
450 ((1 2) (1 in1
) (1 l1
) (1 ido
)
456 (f2cl-lib:fref cc-%data%
458 ((1 2) (1 in1
) (1 l1
) (1 ido
)
461 (f2cl-lib:fref cc-%data%
463 ((1 2) (1 in1
) (1 l1
) (1 ido
)
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%
472 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
476 (f2cl-lib:fref wa-%data%
478 ((1 ido
) (1 2) (1 2))
482 (f2cl-lib:fref wa-%data%
484 ((1 ido
) (1 2) (1 2))
487 (setf (f2cl-lib:fref ch-%data%
489 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
493 (f2cl-lib:fref wa-%data%
495 ((1 ido
) (1 2) (1 2))
499 (f2cl-lib:fref wa-%data%
501 ((1 ido
) (1 2) (1 2))
504 (setf (f2cl-lib:fref ch-%data%
506 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
510 (f2cl-lib:fref wa-%data%
512 ((1 ido
) (1 2) (1 2))
516 (f2cl-lib:fref wa-%data%
518 ((1 ido
) (1 2) (1 2))
521 (setf (f2cl-lib:fref ch-%data%
523 ((1 2) (1 in2
) (1 l1
) (1 3) (1 ido
))
527 (f2cl-lib:fref wa-%data%
529 ((1 ido
) (1 2) (1 2))
533 (f2cl-lib:fref wa-%data%
535 ((1 ido
) (1 2) (1 2))
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
)