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-2013-11 (20E 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 "ODEPACK")
20 (defun dprepi (neq y s yh savr ewt rtem ia ja ic jc wk iwk ipper res jac adda
)
21 (declare (type (f2cl-lib:integer4
) ipper
)
22 (type (array double-float
(*)) wk rtem ewt savr yh s y
)
23 (type (array f2cl-lib
:integer4
(*)) iwk jc ic ja ia neq
))
25 (symbol-macrolet ((tn (aref (dls001-part-0 *dls001-common-block
*) 216))
26 (miter (aref (dls001-part-1 *dls001-common-block
*) 26))
27 (n (aref (dls001-part-1 *dls001-common-block
*) 31))
28 (iesp (aref (dlss01-part-1 *dlss01-common-block
*) 1))
29 (istatc (aref (dlss01-part-1 *dlss01-common-block
*) 2))
30 (iys (aref (dlss01-part-1 *dlss01-common-block
*) 3))
31 (iba (aref (dlss01-part-1 *dlss01-common-block
*) 4))
32 (ibian (aref (dlss01-part-1 *dlss01-common-block
*) 5))
33 (ibjan (aref (dlss01-part-1 *dlss01-common-block
*) 6))
34 (ibjgp (aref (dlss01-part-1 *dlss01-common-block
*) 7))
35 (ipian (aref (dlss01-part-1 *dlss01-common-block
*) 8))
36 (ipjan (aref (dlss01-part-1 *dlss01-common-block
*) 9))
37 (ipjgp (aref (dlss01-part-1 *dlss01-common-block
*) 10))
38 (ipigp (aref (dlss01-part-1 *dlss01-common-block
*) 11))
39 (ipr (aref (dlss01-part-1 *dlss01-common-block
*) 12))
40 (ipc (aref (dlss01-part-1 *dlss01-common-block
*) 13))
41 (ipic (aref (dlss01-part-1 *dlss01-common-block
*) 14))
42 (ipisp (aref (dlss01-part-1 *dlss01-common-block
*) 15))
43 (iprsp (aref (dlss01-part-1 *dlss01-common-block
*) 16))
44 (ipa (aref (dlss01-part-1 *dlss01-common-block
*) 17))
45 (lenwk (aref (dlss01-part-1 *dlss01-common-block
*) 20))
46 (lreq (aref (dlss01-part-1 *dlss01-common-block
*) 21))
47 (lrat (aref (dlss01-part-1 *dlss01-common-block
*) 22))
48 (moss (aref (dlss01-part-1 *dlss01-common-block
*) 25))
49 (ngp (aref (dlss01-part-1 *dlss01-common-block
*) 28))
50 (nnz (aref (dlss01-part-1 *dlss01-common-block
*) 30))
51 (nsp (aref (dlss01-part-1 *dlss01-common-block
*) 31))
52 (nzl (aref (dlss01-part-1 *dlss01-common-block
*) 32))
53 (nzu (aref (dlss01-part-1 *dlss01-common-block
*) 33)))
54 (f2cl-lib:with-multi-array-data
55 ((neq f2cl-lib
:integer4 neq-%data% neq-%offset%
)
56 (ia f2cl-lib
:integer4 ia-%data% ia-%offset%
)
57 (ja f2cl-lib
:integer4 ja-%data% ja-%offset%
)
58 (ic f2cl-lib
:integer4 ic-%data% ic-%offset%
)
59 (jc f2cl-lib
:integer4 jc-%data% jc-%offset%
)
60 (iwk f2cl-lib
:integer4 iwk-%data% iwk-%offset%
)
61 (y double-float y-%data% y-%offset%
)
62 (s double-float s-%data% s-%offset%
)
63 (yh double-float yh-%data% yh-%offset%
)
64 (savr double-float savr-%data% savr-%offset%
)
65 (ewt double-float ewt-%data% ewt-%offset%
)
66 (rtem double-float rtem-%data% rtem-%offset%
)
67 (wk double-float wk-%data% wk-%offset%
))
68 (prog ((nzsut 0) (np1 0) (maxg 0) (ljfo 0) (liwk 0) (lenwk1 0)
69 (lenigp 0) (ldif 0) (kcmin 0) (kcmax 0) (kamin 0) (kamax 0)
70 (knew 0) (k 0) (j 0) (iptt2 0) (iptt1 0) (ipiu 0) (ipil 0)
71 (ier 0) (ibr 0) (i 0) (yj 0.0d0
) (fac 0.0d0
) (erwt 0.0d0
))
72 (declare (type (double-float) erwt fac yj
)
73 (type (f2cl-lib:integer4
) i ibr ier ipil ipiu iptt1 iptt2 j
74 k knew kamax kamin kcmax kcmin
75 ldif lenigp lenwk1 liwk ljfo maxg
77 (setf ibian
(f2cl-lib:int-mul lrat
2))
78 (setf ipian
(f2cl-lib:int-add ibian
1))
79 (setf np1
(f2cl-lib:int-add n
1))
80 (setf ipjan
(f2cl-lib:int-add ipian np1
))
81 (setf ibjan
(f2cl-lib:int-sub ipjan
1))
82 (setf lenwk1
(f2cl-lib:int-sub lenwk n
))
83 (setf liwk
(f2cl-lib:int-mul lenwk lrat
))
84 (if (= moss
0) (setf liwk
(f2cl-lib:int-sub liwk n
)))
85 (if (or (= moss
1) (= moss
2))
86 (setf liwk
(f2cl-lib:int-mul lenwk1 lrat
)))
87 (if (> (f2cl-lib:int-sub
(f2cl-lib:int-add ipjan n
) 1) liwk
)
89 (if (= moss
0) (go label30
))
90 (if (= istatc
3) (go label20
))
91 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
96 (f2cl-lib:fref ewt-%data%
(i) ((1 *)) ewt-%offset%
)))
97 (setf fac
(+ 1.0d0
(/ 1.0d0
(+ i
1.0d0
))))
98 (setf (f2cl-lib:fref y-%data%
(i) ((1 *)) y-%offset%
)
99 (+ (f2cl-lib:fref y-%data%
(i) ((1 *)) y-%offset%
)
102 (f2cl-lib:fref y-%data%
106 (setf (f2cl-lib:fref s-%data%
(i) ((1 *)) s-%offset%
)
107 (+ 1.0d0
(* fac erwt
)))
109 (f2cl-lib:computed-goto
(label70 label100 label150 label200
) moss
)
111 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
114 (setf (f2cl-lib:fref y-%data%
(i) ((1 *)) y-%offset%
)
115 (f2cl-lib:fref yh-%data%
(i) ((1 *)) yh-%offset%
))
117 (setf (f2cl-lib:fref s-%data%
(i) ((1 *)) s-%offset%
)
118 (f2cl-lib:fref yh-%data%
119 ((f2cl-lib:int-add n i
))
122 (f2cl-lib:computed-goto
(label70 label100 label150 label200
) moss
)
125 (setf kamin
(f2cl-lib:fref ia-%data%
(1) ((1 *)) ia-%offset%
))
126 (setf kcmin
(f2cl-lib:fref ic-%data%
(1) ((1 *)) ic-%offset%
))
127 (setf (f2cl-lib:fref iwk-%data%
(ipian) ((1 *)) iwk-%offset%
) 1)
128 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
131 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
135 (setf (f2cl-lib:fref iwk-%data%
136 ((f2cl-lib:int-add liwk i
))
142 (f2cl-lib:fref ia-%data%
143 ((f2cl-lib:int-add j
1))
147 (if (> kamin kamax
) (go label45
))
148 (f2cl-lib:fdo
(k kamin
(f2cl-lib:int-add k
1))
151 (setf i
(f2cl-lib:fref ja-%data%
(k) ((1 *)) ja-%offset%
))
152 (setf (f2cl-lib:fref iwk-%data%
153 ((f2cl-lib:int-add liwk i
))
157 (if (> knew liwk
) (go label310
))
158 (setf (f2cl-lib:fref iwk-%data%
(knew) ((1 *)) iwk-%offset%
)
160 (setf knew
(f2cl-lib:int-add knew
1))
163 (setf kamin
(f2cl-lib:int-add kamax
1))
166 (f2cl-lib:fref ic-%data%
167 ((f2cl-lib:int-add j
1))
171 (if (> kcmin kcmax
) (go label55
))
172 (f2cl-lib:fdo
(k kcmin
(f2cl-lib:int-add k
1))
175 (setf i
(f2cl-lib:fref jc-%data%
(k) ((1 *)) jc-%offset%
))
178 (f2cl-lib:fref iwk-%data%
179 ((f2cl-lib:int-add liwk i
))
184 (if (> knew liwk
) (go label310
))
185 (setf (f2cl-lib:fref iwk-%data%
(knew) ((1 *)) iwk-%offset%
)
187 (setf knew
(f2cl-lib:int-add knew
1))
190 (setf (f2cl-lib:fref iwk-%data%
191 ((f2cl-lib:int-add ipian j
))
194 (f2cl-lib:int-sub
(f2cl-lib:int-add knew
1) ipjan
))
195 (setf kcmin
(f2cl-lib:int-add kcmax
1))
200 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4 var-5
)
201 (funcall res neq tn y s savr ier
)
202 (declare (ignore var-0 var-2 var-3 var-4
))
207 (if (> ier
1) (go label370
))
208 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
211 (setf (f2cl-lib:fref savr-%data%
(i) ((1 *)) savr-%offset%
)
214 (setf (f2cl-lib:fref wk-%data%
215 ((f2cl-lib:int-add lenwk1 i
))
220 (setf (f2cl-lib:fref iwk-%data%
(ipian) ((1 *)) iwk-%offset%
) 1)
221 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
224 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4 var-5 var-6
)
230 (f2cl-lib:array-slice iwk-%data%
235 (f2cl-lib:array-slice iwk-%data%
240 (f2cl-lib:array-slice wk-%data%
245 (declare (ignore var-0 var-2 var-4 var-5 var-6
))
251 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
)
258 (f2cl-lib:array-slice iwk-%data%
263 (f2cl-lib:array-slice iwk-%data%
269 (declare (ignore var-0 var-2 var-3 var-5 var-6 var-7
))
274 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
277 (setf ljfo
(f2cl-lib:int-add lenwk1 i
))
279 (= (f2cl-lib:fref wk-%data%
(ljfo) ((1 *)) wk-%offset%
)
282 (setf (f2cl-lib:fref wk-%data%
(ljfo) ((1 *)) wk-%offset%
)
284 (setf (f2cl-lib:fref savr-%data%
(i) ((1 *)) savr-%offset%
)
289 (= (f2cl-lib:fref savr-%data%
(i) ((1 *)) savr-%offset%
)
292 (setf (f2cl-lib:fref savr-%data%
(i) ((1 *)) savr-%offset%
)
295 (if (> k liwk
) (go label310
))
296 (setf (f2cl-lib:fref iwk-%data%
(k) ((1 *)) iwk-%offset%
) i
)
297 (setf k
(f2cl-lib:int-add k
1))
299 (setf (f2cl-lib:fref iwk-%data%
300 ((f2cl-lib:int-add ipian j
))
303 (f2cl-lib:int-sub
(f2cl-lib:int-add k
1) ipjan
))
307 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
311 (setf (f2cl-lib:fref wk-%data%
312 ((f2cl-lib:int-add lenwk1 i
))
317 (setf (f2cl-lib:fref iwk-%data%
(ipian) ((1 *)) iwk-%offset%
) 1)
319 (if (= miter
1) (setf ier
1))
320 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4 var-5
)
321 (funcall res neq tn y s savr ier
)
322 (declare (ignore var-0 var-2 var-3 var-4
))
327 (if (> ier
1) (go label370
))
328 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
331 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4 var-5 var-6
)
337 (f2cl-lib:array-slice iwk-%data%
342 (f2cl-lib:array-slice iwk-%data%
347 (f2cl-lib:array-slice wk-%data%
352 (declare (ignore var-0 var-2 var-4 var-5 var-6
))
357 (setf yj
(f2cl-lib:fref y-%data%
(j) ((1 *)) y-%offset%
))
360 (f2cl-lib:fref ewt-%data%
(j) ((1 *)) ewt-%offset%
)))
361 (setf (f2cl-lib:fref y-%data%
(j) ((1 *)) y-%offset%
)
362 (+ yj
(f2cl-lib:sign erwt yj
)))
363 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4 var-5
)
364 (funcall res neq tn y s rtem ier
)
365 (declare (ignore var-0 var-2 var-3 var-4
))
370 (if (> ier
1) (go end_label
))
371 (setf (f2cl-lib:fref y-%data%
(j) ((1 *)) y-%offset%
) yj
)
372 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
375 (setf ljfo
(f2cl-lib:int-add lenwk1 i
))
377 (= (f2cl-lib:fref wk-%data%
(ljfo) ((1 *)) wk-%offset%
)
380 (setf (f2cl-lib:fref wk-%data%
(ljfo) ((1 *)) wk-%offset%
)
385 (= (f2cl-lib:fref rtem-%data%
(i) ((1 *)) rtem-%offset%
)
386 (f2cl-lib:fref savr-%data%
(i) ((1 *)) savr-%offset%
))
389 (if (> k liwk
) (go label310
))
390 (setf (f2cl-lib:fref iwk-%data%
(k) ((1 *)) iwk-%offset%
) i
)
391 (setf k
(f2cl-lib:int-add k
1))
393 (setf (f2cl-lib:fref iwk-%data%
394 ((f2cl-lib:int-add ipian j
))
397 (f2cl-lib:int-sub
(f2cl-lib:int-add k
1) ipjan
))
402 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4 var-5
)
403 (funcall res neq tn y s savr ier
)
404 (declare (ignore var-0 var-2 var-3 var-4
))
409 (if (> ier
1) (go label370
))
410 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
414 (setf (f2cl-lib:fref savr-%data%
(i) ((1 *)) savr-%offset%
)
417 (setf kamin
(f2cl-lib:fref ia-%data%
(1) ((1 *)) ia-%offset%
))
418 (setf (f2cl-lib:fref iwk-%data%
(ipian) ((1 *)) iwk-%offset%
) 1)
419 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
423 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
)
430 (f2cl-lib:array-slice iwk-%data%
435 (f2cl-lib:array-slice iwk-%data%
441 (declare (ignore var-0 var-2 var-3 var-5 var-6 var-7
))
448 (f2cl-lib:fref ia-%data%
449 ((f2cl-lib:int-add j
1))
453 (if (> kamin kamax
) (go label170
))
454 (f2cl-lib:fdo
(k kamin
(f2cl-lib:int-add k
1))
457 (setf i
(f2cl-lib:fref ja-%data%
(k) ((1 *)) ja-%offset%
))
458 (setf (f2cl-lib:fref savr-%data%
(i) ((1 *)) savr-%offset%
)
460 (if (> knew liwk
) (go label310
))
461 (setf (f2cl-lib:fref iwk-%data%
(knew) ((1 *)) iwk-%offset%
)
463 (setf knew
(f2cl-lib:int-add knew
1))
466 (setf kamin
(f2cl-lib:int-add kamax
1))
467 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
471 (= (f2cl-lib:fref savr-%data%
(i) ((1 *)) savr-%offset%
)
474 (setf (f2cl-lib:fref savr-%data%
(i) ((1 *)) savr-%offset%
)
476 (if (> knew liwk
) (go label310
))
477 (setf (f2cl-lib:fref iwk-%data%
(knew) ((1 *)) iwk-%offset%
)
479 (setf knew
(f2cl-lib:int-add knew
1))
481 (setf (f2cl-lib:fref iwk-%data%
482 ((f2cl-lib:int-add ipian j
))
485 (f2cl-lib:int-sub
(f2cl-lib:int-add knew
1) ipjan
))
490 (setf kamin
(f2cl-lib:fref ia-%data%
(1) ((1 *)) ia-%offset%
))
491 (setf (f2cl-lib:fref iwk-%data%
(ipian) ((1 *)) iwk-%offset%
) 1)
493 (if (= miter
1) (setf ier
1))
494 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4 var-5
)
495 (funcall res neq tn y s savr ier
)
496 (declare (ignore var-0 var-2 var-3 var-4
))
501 (if (> ier
1) (go label370
))
502 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
505 (setf yj
(f2cl-lib:fref y-%data%
(j) ((1 *)) y-%offset%
))
508 (f2cl-lib:fref ewt-%data%
(j) ((1 *)) ewt-%offset%
)))
509 (setf (f2cl-lib:fref y-%data%
(j) ((1 *)) y-%offset%
)
510 (+ yj
(f2cl-lib:sign erwt yj
)))
511 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4 var-5
)
512 (funcall res neq tn y s rtem ier
)
513 (declare (ignore var-0 var-2 var-3 var-4
))
518 (if (> ier
1) (go end_label
))
519 (setf (f2cl-lib:fref y-%data%
(j) ((1 *)) y-%offset%
) yj
)
522 (f2cl-lib:fref ia-%data%
523 ((f2cl-lib:int-add j
1))
527 (if (> kamin kamax
) (go label225
))
528 (f2cl-lib:fdo
(k kamin
(f2cl-lib:int-add k
1))
531 (setf i
(f2cl-lib:fref ja-%data%
(k) ((1 *)) ja-%offset%
))
532 (setf (f2cl-lib:fref rtem-%data%
(i) ((1 *)) rtem-%offset%
)
533 (f2cl-lib:fref savr-%data%
537 (if (> knew liwk
) (go label310
))
538 (setf (f2cl-lib:fref iwk-%data%
(knew) ((1 *)) iwk-%offset%
)
540 (setf knew
(f2cl-lib:int-add knew
1))
543 (setf kamin
(f2cl-lib:int-add kamax
1))
544 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
548 (= (f2cl-lib:fref rtem-%data%
(i) ((1 *)) rtem-%offset%
)
549 (f2cl-lib:fref savr-%data%
(i) ((1 *)) savr-%offset%
))
551 (if (> knew liwk
) (go label310
))
552 (setf (f2cl-lib:fref iwk-%data%
(knew) ((1 *)) iwk-%offset%
)
554 (setf knew
(f2cl-lib:int-add knew
1))
556 (setf (f2cl-lib:fref iwk-%data%
557 ((f2cl-lib:int-add ipian j
))
560 (f2cl-lib:int-sub
(f2cl-lib:int-add knew
1) ipjan
))
563 (if (or (= moss
0) (= istatc
3)) (go label250
))
564 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
568 (setf (f2cl-lib:fref y-%data%
(i) ((1 *)) y-%offset%
)
569 (f2cl-lib:fref yh-%data%
(i) ((1 *)) yh-%offset%
))))
573 (f2cl-lib:fref iwk-%data%
574 ((f2cl-lib:int-add ipian n
))
581 (setf ipigp
(f2cl-lib:int-add ipjan nnz
))
582 (if (/= miter
2) (go label260
))
584 (setf ipjgp
(f2cl-lib:int-add ipjan nnz
))
585 (setf ibjgp
(f2cl-lib:int-sub ipjgp
1))
586 (setf ipigp
(f2cl-lib:int-add ipjgp n
))
587 (setf iptt1
(f2cl-lib:int-add ipigp np1
))
588 (setf iptt2
(f2cl-lib:int-add iptt1 n
))
589 (setf lreq
(f2cl-lib:int-sub
(f2cl-lib:int-add iptt2 n
) 1))
590 (if (> lreq liwk
) (go label320
))
592 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
)
594 (f2cl-lib:array-slice iwk-%data%
599 (f2cl-lib:array-slice iwk-%data%
605 (f2cl-lib:array-slice iwk-%data%
610 (f2cl-lib:array-slice iwk-%data%
615 (f2cl-lib:array-slice iwk-%data%
620 (f2cl-lib:array-slice iwk-%data%
626 (declare (ignore var-0 var-1 var-2 var-3 var-5 var-6 var-7 var-8
))
629 (if (/= ier
0) (go label320
))
630 (setf lenigp
(f2cl-lib:int-add ngp
1))
632 (setf ipr
(f2cl-lib:int-add ipigp lenigp
))
634 (setf ipic
(f2cl-lib:int-add ipc n
))
635 (setf ipisp
(f2cl-lib:int-add ipic n
))
637 (+ (the f2cl-lib
:integer4
(truncate (- ipisp
2) lrat
)) 2))
638 (setf iesp
(f2cl-lib:int-sub
(f2cl-lib:int-add lenwk
1) iprsp
))
639 (if (< iesp
0) (go label330
))
640 (setf ibr
(f2cl-lib:int-sub ipr
1))
641 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
645 (setf (f2cl-lib:fref iwk-%data%
646 ((f2cl-lib:int-add ibr i
))
650 (setf nsp
(f2cl-lib:int-sub
(f2cl-lib:int-add liwk
1) ipisp
))
652 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
)
654 (f2cl-lib:array-slice iwk-%data%
659 (f2cl-lib:array-slice iwk-%data%
665 (f2cl-lib:array-slice iwk-%data%
670 (f2cl-lib:array-slice iwk-%data%
676 (f2cl-lib:array-slice iwk-%data%
682 (declare (ignore var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
685 (if (= iys
(f2cl-lib:int-add
(f2cl-lib:int-mul
11 n
) 1))
687 (if (/= iys
0) (go label330
))
688 (setf ipa
(f2cl-lib:int-sub
(f2cl-lib:int-add lenwk
1) nnz
))
689 (setf nsp
(f2cl-lib:int-sub ipa iprsp
))
692 (max (the f2cl-lib
:integer4
(truncate (* 12 n
) lrat
))
693 (+ (the f2cl-lib
:integer4
(truncate (* 6 n
) lrat
))
694 (f2cl-lib:int-mul
2 n
)
699 (f2cl-lib:int-sub
(f2cl-lib:int-add lreq iprsp
) 1)
701 (if (> lreq lenwk
) (go label350
))
702 (setf iba
(f2cl-lib:int-sub ipa
1))
703 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
707 (setf (f2cl-lib:fref wk-%data%
708 ((f2cl-lib:int-add iba i
))
714 (f2cl-lib:int-mul lrat
(f2cl-lib:int-sub iprsp
1))
717 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
718 var-10 var-11 var-12 var-13 var-14
)
720 (f2cl-lib:array-slice iwk-%data%
725 (f2cl-lib:array-slice iwk-%data%
730 (f2cl-lib:array-slice iwk-%data%
735 (f2cl-lib:array-slice iwk-%data%
740 (f2cl-lib:array-slice iwk-%data%
745 (f2cl-lib:array-slice wk-%data%
750 (f2cl-lib:array-slice wk-%data%
755 (f2cl-lib:array-slice wk-%data%
761 (f2cl-lib:array-slice iwk-%data%
766 (f2cl-lib:array-slice wk-%data%
772 (declare (ignore var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
773 var-8 var-9 var-10 var-11 var-13
))
776 (setf lreq
(f2cl-lib:int-sub lenwk iesp
))
777 (if (= iys
(f2cl-lib:int-add
(f2cl-lib:int-mul
10 n
) 1))
779 (if (/= iys
0) (go label360
))
781 (setf ipiu
(f2cl-lib:int-add ipil
(f2cl-lib:int-mul
2 n
) 1))
784 (f2cl-lib:fref iwk-%data%
785 ((f2cl-lib:int-add ipil n
))
788 (f2cl-lib:fref iwk-%data%
(ipil) ((1 *)) iwk-%offset%
)))
791 (f2cl-lib:fref iwk-%data%
792 ((f2cl-lib:int-add ipiu n
))
795 (f2cl-lib:fref iwk-%data%
(ipiu) ((1 *)) iwk-%offset%
)))
796 (if (> lrat
1) (go label290
))
797 (multiple-value-bind (var-0 var-1 var-2
)
799 (f2cl-lib:array-slice iwk-%data%
805 (declare (ignore var-0 var-1
))
807 (setf lreq
(f2cl-lib:int-add lreq ldif
))
809 (if (and (= lrat
2) (= nnz n
)) (setf lreq
(f2cl-lib:int-add lreq
1)))
810 (setf nsp
(f2cl-lib:int-sub
(f2cl-lib:int-add nsp lreq
) lenwk
))
811 (setf ipa
(f2cl-lib:int-sub
(f2cl-lib:int-add lreq
1) nnz
))
812 (setf iba
(f2cl-lib:int-sub ipa
1))
818 (+ 2 (the f2cl-lib
:integer4
(truncate (+ (* 2 n
) 1) lrat
))))
820 (max (the f2cl-lib
:integer4
(f2cl-lib:int-add lenwk
1))
821 (the f2cl-lib
:integer4 lreq
)))
825 (setf lreq
(+ (the f2cl-lib
:integer4
(truncate (- lreq
1) lrat
)) 1))
829 (multiple-value-bind (var-0 var-1 var-2 var-3
)
831 (f2cl-lib:array-slice iwk-%data%
836 (f2cl-lib:array-slice iwk-%data%
842 (declare (ignore var-0 var-1 var-2
))
845 (+ (f2cl-lib:int-sub lenwk iesp
)
846 (the f2cl-lib
:integer4
847 (truncate (- (+ (* 3 n
) (* 4 nzsut
)) 1) lrat
))
861 (setf ipper
(f2cl-lib:int-sub -
5 ier
))
863 (+ 2 (the f2cl-lib
:integer4
(truncate (+ (* 2 n
) 1) lrat
))))
885 (in-package #:cl-user
)
886 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
887 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
888 (setf (gethash 'fortran-to-lisp
::dprepi
889 fortran-to-lisp
::*f2cl-function-info
*)
890 (fortran-to-lisp::make-f2cl-finfo
891 :arg-types
'((array fortran-to-lisp
::integer4
(*))
892 (array double-float
(*)) (array double-float
(*))
893 (array double-float
(*)) (array double-float
(*))
894 (array double-float
(*)) (array double-float
(*))
895 (array fortran-to-lisp
::integer4
(*))
896 (array fortran-to-lisp
::integer4
(*))
897 (array fortran-to-lisp
::integer4
(*))
898 (array fortran-to-lisp
::integer4
(*))
899 (array double-float
(*))
900 (array fortran-to-lisp
::integer4
(*))
901 (fortran-to-lisp::integer4
) t t t
)
902 :return-values
'(nil nil nil nil nil nil nil nil nil nil nil nil nil
903 fortran-to-lisp
::ipper nil nil nil
)
904 :calls
'(fortran-to-lisp::cntnzu fortran-to-lisp
::adjlr
905 fortran-to-lisp
::cdrv fortran-to-lisp
::odrv
906 fortran-to-lisp
::jgroup
))))