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 double-float))
17 (in-package "HOMPACK")
21 (n numt coef kdeg iflg1 iflg2 epsbig epssml numrr nn mmaxt ttotdg
22 lambda$ roots arclen nfe totdg pdg qdg r facv cl y yp yold ypold qr
23 alpha tz w wp z0 z1 sspar par ideg icount pivot ipar
)
24 (declare (type (array double-float
(*)) sspar
)
25 (type (double-float) epssml epsbig
)
26 (type (array double-float
(*)) par z1 z0 wp w tz alpha qr ypold yold
27 yp y cl facv r qdg pdg arclen roots
29 (type (array f2cl-lib
:integer4
(*)) ipar pivot icount ideg nfe iflg2
31 (type (f2cl-lib:integer4
) totdg ttotdg mmaxt nn numrr iflg1 n
))
32 (f2cl-lib:with-multi-array-data
33 ((numt f2cl-lib
:integer4 numt-%data% numt-%offset%
)
34 (kdeg f2cl-lib
:integer4 kdeg-%data% kdeg-%offset%
)
35 (iflg2 f2cl-lib
:integer4 iflg2-%data% iflg2-%offset%
)
36 (nfe f2cl-lib
:integer4 nfe-%data% nfe-%offset%
)
37 (ideg f2cl-lib
:integer4 ideg-%data% ideg-%offset%
)
38 (icount f2cl-lib
:integer4 icount-%data% icount-%offset%
)
39 (pivot f2cl-lib
:integer4 pivot-%data% pivot-%offset%
)
40 (ipar f2cl-lib
:integer4 ipar-%data% ipar-%offset%
)
41 (coef double-float coef-%data% coef-%offset%
)
42 (lambda$ double-float lambda$-%data% lambda$-%offset%
)
43 (roots double-float roots-%data% roots-%offset%
)
44 (arclen double-float arclen-%data% arclen-%offset%
)
45 (pdg double-float pdg-%data% pdg-%offset%
)
46 (qdg double-float qdg-%data% qdg-%offset%
)
47 (r double-float r-%data% r-%offset%
)
48 (facv double-float facv-%data% facv-%offset%
)
49 (cl double-float cl-%data% cl-%offset%
)
50 (y double-float y-%data% y-%offset%
)
51 (yp double-float yp-%data% yp-%offset%
)
52 (yold double-float yold-%data% yold-%offset%
)
53 (ypold double-float ypold-%data% ypold-%offset%
)
54 (qr double-float qr-%data% qr-%offset%
)
55 (alpha double-float alpha-%data% alpha-%offset%
)
56 (tz double-float tz-%data% tz-%offset%
)
57 (w double-float w-%data% w-%offset%
)
58 (wp double-float wp-%data% wp-%offset%
)
59 (z0 double-float z0-%data% z0-%offset%
)
60 (z1 double-float z1-%data% z1-%offset%
)
61 (par double-float par-%data% par-%offset%
)
62 (sspar double-float sspar-%data% sspar-%offset%
))
63 (prog ((xnp1 (make-array 2 :element-type
'double-float
))
64 (iproff (make-array 15 :element-type
'f2cl-lib
:integer4
))
65 (lipar (make-array 15 :element-type
'f2cl-lib
:integer4
))
66 (lpar (make-array 25 :element-type
'f2cl-lib
:integer4
))
67 (proff (make-array 25 :element-type
'f2cl-lib
:integer4
))
68 (aarcln 0.0) (ansae 0.0) (ansre 0.0) (arcae 0.0) (arcre 0.0) (i 0)
69 (i1 0) (i2 0) (i3 0) (idummy 0) (iflag 0) (ij 0) (ijp1 0)
70 (f2cl-lib:index
0) (j 0) (n2 0) (n2p1 0) (nnfe 0) (np1 0) (numpat 0)
72 (declare (type (array f2cl-lib
:integer4
(25)) proff lpar
)
73 (type (array f2cl-lib
:integer4
(15)) lipar iproff
)
74 (type (f2cl-lib:integer4
) trace$ numpat np1 nnfe n2p1 n2 j
75 f2cl-lib
:index ijp1 ij iflag idummy i3
77 (type (array double-float
(2)) xnp1
)
78 (type (double-float) arcre arcae ansre ansae aarcln
))
79 (setf n2
(f2cl-lib:int-mul
2 n
))
80 (setf np1
(f2cl-lib:int-add n
1))
81 (setf n2p1
(f2cl-lib:int-add n2
1))
82 (if (<= numrr
0) (setf numrr
1))
83 (initp iflg1 n numt kdeg coef nn mmaxt par ipar ideg facv cl pdg qdg r
)
84 (setf (f2cl-lib:fref lipar
(1) ((1 15))) 1)
85 (setf (f2cl-lib:fref lipar
(2) ((1 15))) 1)
86 (setf (f2cl-lib:fref lipar
(3) ((1 15))) 25)
87 (setf (f2cl-lib:fref lipar
(4) ((1 15))) 15)
88 (setf (f2cl-lib:fref lipar
(5) ((1 15))) n
)
89 (setf (f2cl-lib:fref lipar
(6) ((1 15))) n
)
90 (setf (f2cl-lib:fref lipar
(7) ((1 15)))
91 (f2cl-lib:int-mul n
(f2cl-lib:int-add n
1) mmaxt
))
92 (setf (f2cl-lib:fref lpar
(1) ((1 25))) (f2cl-lib:int-mul
2 n
))
93 (setf (f2cl-lib:fref lpar
(2) ((1 25))) (f2cl-lib:int-mul
2 np1
))
94 (setf (f2cl-lib:fref lpar
(3) ((1 25))) (f2cl-lib:int-mul n mmaxt
))
95 (setf (f2cl-lib:fref lpar
(4) ((1 25))) n2
)
96 (setf (f2cl-lib:fref lpar
(5) ((1 25))) (f2cl-lib:int-mul n2 n2
))
97 (setf (f2cl-lib:fref lpar
(6) ((1 25))) n2
)
98 (setf (f2cl-lib:fref lpar
(7) ((1 25))) (f2cl-lib:int-mul
2 n
))
99 (setf (f2cl-lib:fref lpar
(8) ((1 25))) (f2cl-lib:int-mul
2 n
))
100 (setf (f2cl-lib:fref lpar
(9) ((1 25))) (f2cl-lib:int-mul
2 n
))
101 (setf (f2cl-lib:fref lpar
(10) ((1 25))) (f2cl-lib:int-mul
2 n
))
102 (setf (f2cl-lib:fref lpar
(11) ((1 25))) (f2cl-lib:int-mul
2 n
))
103 (setf (f2cl-lib:fref lpar
(12) ((1 25))) (f2cl-lib:int-mul
2 n
))
104 (setf (f2cl-lib:fref lpar
(13) ((1 25))) (f2cl-lib:int-mul
2 n
))
105 (setf (f2cl-lib:fref lpar
(14) ((1 25))) (f2cl-lib:int-mul
2 n np1
))
106 (setf (f2cl-lib:fref lpar
(15) ((1 25)))
107 (f2cl-lib:int-mul
2 n np1 mmaxt
))
108 (setf (f2cl-lib:fref lpar
(16) ((1 25))) (f2cl-lib:int-mul
2 n mmaxt
))
109 (setf (f2cl-lib:fref lpar
(17) ((1 25)))
110 (f2cl-lib:int-mul
2 n np1 mmaxt
))
111 (setf (f2cl-lib:fref lpar
(18) ((1 25))) (f2cl-lib:int-mul
2 n
))
112 (setf (f2cl-lib:fref lpar
(19) ((1 25))) (f2cl-lib:int-mul
2 n
))
113 (setf (f2cl-lib:fref proff
(1) ((1 25))) 1)
114 (f2cl-lib:fdo
(i 2 (f2cl-lib:int-add i
1))
117 (setf (f2cl-lib:fref proff
(i) ((1 25)))
119 (f2cl-lib:fref proff
((f2cl-lib:int-sub i
1)) ((1 25)))
120 (f2cl-lib:fref lpar
((f2cl-lib:int-sub i
1)) ((1 25)))))
122 (setf (f2cl-lib:fref iproff
(1) ((1 15))) 1)
123 (f2cl-lib:fdo
(i 2 (f2cl-lib:int-add i
1))
126 (setf (f2cl-lib:fref iproff
(i) ((1 15)))
128 (f2cl-lib:fref iproff
((f2cl-lib:int-sub i
1)) ((1 15)))
129 (f2cl-lib:fref lipar
((f2cl-lib:int-sub i
1)) ((1 15)))))
131 (setf (f2cl-lib:fref ipar-%data%
135 (f2cl-lib:int-mul
2 n
)
143 (setf (f2cl-lib:fref ipar-%data%
147 (f2cl-lib:int-mul
2 n
)
155 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
158 (setf (f2cl-lib:fref ipar-%data%
160 (f2cl-lib:fref iproff
(3) ((1 15)))
161 (f2cl-lib:int-sub i
1)))
164 (f2cl-lib:int-mul
2 n
)
171 (f2cl-lib:fref proff
(i) ((1 25))))
173 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
176 (setf (f2cl-lib:fref ipar-%data%
178 (f2cl-lib:fref iproff
(4) ((1 15)))
179 (f2cl-lib:int-sub i
1)))
182 (f2cl-lib:int-mul
2 n
)
189 (f2cl-lib:fref iproff
(i) ((1 15))))
191 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
194 (setf (f2cl-lib:fref ipar-%data%
196 (f2cl-lib:fref iproff
(5) ((1 15)))
197 (f2cl-lib:int-sub i
1)))
200 (f2cl-lib:int-mul
2 n
)
207 (f2cl-lib:fref ideg-%data%
(i) ((1 n
)) ideg-%offset%
))
208 (setf (f2cl-lib:fref ipar-%data%
210 (f2cl-lib:fref iproff
(6) ((1 15)))
211 (f2cl-lib:int-sub i
1)))
214 (f2cl-lib:int-mul
2 n
)
221 (f2cl-lib:fref numt-%data%
(i) ((1 nn
)) numt-%offset%
))
223 (f2cl-lib:fdo
(i1 1 (f2cl-lib:int-add i1
1))
226 (f2cl-lib:fdo
(i2 1 (f2cl-lib:int-add i2
1))
229 (f2cl-lib:fdo
(i3 1 (f2cl-lib:int-add i3
1))
230 ((> i3
(f2cl-lib:fref numt
(i1) ((1 nn
)))) nil
)
233 (f2cl-lib:int-add
(f2cl-lib:fref iproff
(7) ((1 15)))
234 (f2cl-lib:int-sub i1
1)
244 (setf (f2cl-lib:fref ipar-%data%
256 (f2cl-lib:fref kdeg-%data%
258 ((1 nn
) (1 (f2cl-lib:int-add nn
1))
263 (f2cl-lib:fdo
(i1 1 (f2cl-lib:int-add i1
1))
266 (f2cl-lib:fdo
(i2 1 (f2cl-lib:int-add i2
1))
269 (setf (f2cl-lib:fref par-%data%
271 (f2cl-lib:fref proff
(1) ((1 25)))
272 (f2cl-lib:int-sub i1
1)
278 (f2cl-lib:int-mul
28 n
)
292 (f2cl-lib:fref pdg-%data%
298 (f2cl-lib:fdo
(i1 1 (f2cl-lib:int-add i1
1))
301 (f2cl-lib:fdo
(i2 1 (f2cl-lib:int-add i2
1))
304 (setf (f2cl-lib:fref par-%data%
306 (f2cl-lib:fref proff
(2) ((1 25)))
307 (f2cl-lib:int-sub i1
1)
313 (f2cl-lib:int-mul
28 n
)
327 (f2cl-lib:fref cl-%data%
329 ((1 2) (1 (f2cl-lib:int-add n
1)))
333 (f2cl-lib:fdo
(i1 1 (f2cl-lib:int-add i1
1))
336 (f2cl-lib:fdo
(i2 1 (f2cl-lib:int-add i2
1))
337 ((> i2
(f2cl-lib:fref numt
(i1) ((1 nn
)))) nil
)
339 (setf (f2cl-lib:fref par-%data%
341 (f2cl-lib:fref proff
(3) ((1 25)))
342 (f2cl-lib:int-sub i1
1)
348 (f2cl-lib:int-mul
28 n
)
362 (f2cl-lib:fref coef-%data%
368 (setf (f2cl-lib:fref icount-%data%
(1) ((1 n
)) icount-%offset%
) 0)
369 (f2cl-lib:fdo
(j 2 (f2cl-lib:int-add j
1))
372 (setf (f2cl-lib:fref icount-%data%
(j) ((1 n
)) icount-%offset%
) 1)
374 (f2cl-lib:fdo
(numpat 1 (f2cl-lib:int-add numpat
1))
375 ((> numpat totdg
) nil
)
377 (setf (f2cl-lib:fref y-%data%
380 (f2cl-lib:int-add
(f2cl-lib:int-mul
2 n
) 1)))
382 (coerce 0.0f0
'double-float
))
383 (strptp n icount ideg r
384 (f2cl-lib:array-slice y-%data%
388 (f2cl-lib:int-add
(f2cl-lib:int-mul
2 n
)
392 (f2cl-lib:fref iflg2-%data%
396 (if (/= iflag -
2) (go label1000
))
402 (f2cl-lib:fdo
(idummy 1 (f2cl-lib:int-add idummy
1))
403 ((> idummy numrr
) nil
)
406 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
407 var-9 var-10 var-11 var-12 var-13 var-14 var-15 var-16
408 var-17 var-18 var-19 var-20 var-21 var-22 var-23 var-24
)
409 (polynf n2 y iflag arcre arcae ansre ansae trace$ qdg nnfe
410 aarcln yp yold ypold qr alpha tz pivot w wp z0 z1 sspar par
412 (declare (ignore var-0 var-1 var-7 var-8 var-11 var-12 var-13
413 var-14 var-15 var-16 var-17 var-18 var-19
414 var-20 var-21 var-22 var-23 var-24
))
421 (setf aarcln var-10
))
422 (if (and (/= iflag
2) (/= iflag
3)) (go label66
))
425 (otputp n numpat cl facv
426 (f2cl-lib:array-slice par-%data%
428 ((f2cl-lib:fref proff
(18) ((1 25))))
431 (f2cl-lib:int-mul
28 n
)
443 (f2cl-lib:array-slice y-%data%
447 (f2cl-lib:int-add
(f2cl-lib:int-mul
2 n
)
451 (setf (f2cl-lib:fref lambda$-%data%
455 (f2cl-lib:fref y-%data%
458 (f2cl-lib:int-add
(f2cl-lib:int-mul
2 n
)
461 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
464 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
469 (f2cl-lib:int-add
(f2cl-lib:int-mul
2 j
) i
)
471 (setf ijp1
(f2cl-lib:int-add ij
1))
472 (setf (f2cl-lib:fref roots-%data%
474 ((1 2) (1 (f2cl-lib:int-add nn
1))
477 (f2cl-lib:fref y-%data%
481 (f2cl-lib:int-mul
2 n
)
486 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
489 (setf (f2cl-lib:fref roots-%data%
491 ((1 2) (1 (f2cl-lib:int-add nn
1))
494 (f2cl-lib:fref xnp1
(i) ((1 2))))
496 (setf (f2cl-lib:fref arclen-%data%
501 (setf (f2cl-lib:fref nfe-%data%
(numpat) ((1 ttotdg
)) nfe-%offset%
)
503 (setf (f2cl-lib:fref iflg2-%data%
552 (in-package #:cl-user
)
553 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
554 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
555 (setf (gethash 'fortran-to-lisp
::polyp fortran-to-lisp
::*f2cl-function-info
*)
556 (fortran-to-lisp::make-f2cl-finfo
557 :arg-types
'((fortran-to-lisp::integer4
)
558 (array fortran-to-lisp
::integer4
(*))
559 (array double-float
(*))
560 (array fortran-to-lisp
::integer4
(*))
561 (fortran-to-lisp::integer4
)
562 (array fortran-to-lisp
::integer4
(*)) (double-float)
563 (double-float) (fortran-to-lisp::integer4
)
564 (fortran-to-lisp::integer4
) (fortran-to-lisp::integer4
)
565 (fortran-to-lisp::integer4
) (array double-float
(*))
566 (array double-float
(*)) (array double-float
(*))
567 (array fortran-to-lisp
::integer4
(*))
568 (fortran-to-lisp::integer4
) (array double-float
(*))
569 (array double-float
(*)) (array double-float
(*))
570 (array double-float
(*)) (array double-float
(*))
571 (array double-float
(*)) (array double-float
(*))
572 (array double-float
(*)) (array double-float
(*))
573 (array double-float
(*)) (array double-float
(*))
574 (array double-float
(*)) (array double-float
(*))
575 (array double-float
(*)) (array double-float
(*))
576 (array double-float
(*)) (array double-float
(*))
577 (array double-float
(*))
578 (array fortran-to-lisp
::integer4
(*))
579 (array fortran-to-lisp
::integer4
(*))
580 (array fortran-to-lisp
::integer4
(*))
581 (array fortran-to-lisp
::integer4
(*)))
582 :return-values
'(nil nil nil nil nil nil nil nil
583 fortran-to-lisp
::numrr nil nil nil nil nil nil nil
584 nil nil nil nil nil nil nil nil nil nil nil nil nil
585 nil nil nil nil nil nil nil nil nil nil
)
586 :calls
'(fortran-to-lisp::otputp fortran-to-lisp
::polynf
587 fortran-to-lisp
::strptp fortran-to-lisp
::initp
))))