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")
21 (n r ic ia ja jlmax il jl ijl jumax iu ju iju q ira jra irac irl jrl iru
23 (declare (type (array f2cl-lib
:integer4
(*)) jru iru jrl irl irac jra ira q
24 iju ju iu ijl jl il ja ia ic r
)
25 (type (f2cl-lib:integer4
) flag jumax jlmax n
))
26 (f2cl-lib:with-multi-array-data
27 ((r f2cl-lib
:integer4 r-%data% r-%offset%
)
28 (ic f2cl-lib
:integer4 ic-%data% ic-%offset%
)
29 (ia f2cl-lib
:integer4 ia-%data% ia-%offset%
)
30 (ja f2cl-lib
:integer4 ja-%data% ja-%offset%
)
31 (il f2cl-lib
:integer4 il-%data% il-%offset%
)
32 (jl f2cl-lib
:integer4 jl-%data% jl-%offset%
)
33 (ijl f2cl-lib
:integer4 ijl-%data% ijl-%offset%
)
34 (iu f2cl-lib
:integer4 iu-%data% iu-%offset%
)
35 (ju f2cl-lib
:integer4 ju-%data% ju-%offset%
)
36 (iju f2cl-lib
:integer4 iju-%data% iju-%offset%
)
37 (q f2cl-lib
:integer4 q-%data% q-%offset%
)
38 (ira f2cl-lib
:integer4 ira-%data% ira-%offset%
)
39 (jra f2cl-lib
:integer4 jra-%data% jra-%offset%
)
40 (irac f2cl-lib
:integer4 irac-%data% irac-%offset%
)
41 (irl f2cl-lib
:integer4 irl-%data% irl-%offset%
)
42 (jrl f2cl-lib
:integer4 jrl-%data% jrl-%offset%
)
43 (iru f2cl-lib
:integer4 iru-%data% iru-%offset%
)
44 (jru f2cl-lib
:integer4 jru-%data% jru-%offset%
))
45 (prog ((cend 0) (qm 0) (rend 0) (rk 0) (vj 0) (jairai 0) (irai 0) (irul 0)
46 (i1 0) (irll 0) (j 0) (jtmp 0) (long 0) (jmax 0) (jmin 0) (i 0)
47 (lasti 0) (lastid 0) (m 0) (luk 0) (jaiak 0) (iak 0) (k 0) (juptr 0)
48 (jumin 0) (jlptr 0) (jlmin 0) (np1 0))
49 (declare (type (f2cl-lib:integer4
) np1 jlmin jlptr jumin juptr k iak
50 jaiak luk m lastid lasti i jmin jmax
51 long jtmp j irll i1 irul irai jairai
53 (setf np1
(f2cl-lib:int-add n
1))
56 (setf (f2cl-lib:fref il-%data%
(1) ((1 *)) il-%offset%
) 1)
59 (setf (f2cl-lib:fref iu-%data%
(1) ((1 *)) iu-%offset%
) 1)
60 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
63 (setf (f2cl-lib:fref irac-%data%
(k) ((1 *)) irac-%offset%
) 0)
64 (setf (f2cl-lib:fref jra-%data%
(k) ((1 *)) jra-%offset%
) 0)
65 (setf (f2cl-lib:fref jrl-%data%
(k) ((1 *)) jrl-%offset%
) 0)
67 (setf (f2cl-lib:fref jru-%data%
(k) ((1 *)) jru-%offset%
) 0)))
68 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
71 (setf rk
(f2cl-lib:fref r-%data%
(k) ((1 *)) r-%offset%
))
72 (setf iak
(f2cl-lib:fref ia-%data%
(rk) ((1 *)) ia-%offset%
))
75 (f2cl-lib:fref ia-%data%
76 ((f2cl-lib:int-add rk
1))
81 (f2cl-lib:fref ic-%data%
82 ((f2cl-lib:fref ja
(iak) ((1 *))))
85 (if (> jaiak k
) (go label105
))
86 (setf (f2cl-lib:fref jra-%data%
(k) ((1 *)) jra-%offset%
)
87 (f2cl-lib:fref irac-%data%
(jaiak) ((1 *)) irac-%offset%
))
88 (setf (f2cl-lib:fref irac-%data%
(jaiak) ((1 *)) irac-%offset%
) k
)
90 (setf (f2cl-lib:fref ira-%data%
(k) ((1 *)) ira-%offset%
) iak
)))
91 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
94 (setf (f2cl-lib:fref q-%data%
(np1) ((1 *)) q-%offset%
) np1
)
96 (setf vj
(f2cl-lib:fref irac-%data%
(k) ((1 *)) irac-%offset%
))
97 (if (= vj
0) (go label5
))
102 (setf qm
(f2cl-lib:fref q-%data%
(m) ((1 *)) q-%offset%
))
103 (if (< qm vj
) (go label4
))
104 (if (= qm vj
) (go label102
))
105 (setf luk
(f2cl-lib:int-add luk
1))
106 (setf (f2cl-lib:fref q-%data%
(m) ((1 *)) q-%offset%
) vj
)
107 (setf (f2cl-lib:fref q-%data%
(vj) ((1 *)) q-%offset%
) qm
)
108 (setf vj
(f2cl-lib:fref jra-%data%
(vj) ((1 *)) jra-%offset%
))
109 (if (/= vj
0) (go label3
))
113 (setf (f2cl-lib:fref ijl-%data%
(k) ((1 *)) ijl-%offset%
) jlptr
)
116 (setf i
(f2cl-lib:fref jru-%data%
(i) ((1 *)) jru-%offset%
))
117 (if (= i
0) (go label10
))
119 (setf jmin
(f2cl-lib:fref irl-%data%
(i) ((1 *)) irl-%offset%
))
123 (f2cl-lib:fref ijl-%data%
(i) ((1 *)) ijl-%offset%
)
124 (f2cl-lib:fref il-%data%
125 ((f2cl-lib:int-add i
1))
128 (f2cl-lib:fref il-%data%
(i) ((1 *)) il-%offset%
)
130 (setf long
(f2cl-lib:int-sub jmax jmin
))
131 (if (< long
0) (go label6
))
132 (setf jtmp
(f2cl-lib:fref jl-%data%
(jmin) ((1 *)) jl-%offset%
))
133 (if (/= jtmp k
) (setf long
(f2cl-lib:int-add long
1)))
135 (setf (f2cl-lib:fref r-%data%
(i) ((1 *)) r-%offset%
)
137 (f2cl-lib:fref r-%data%
(i) ((1 *)) r-%offset%
))))
138 (if (>= lastid long
) (go label7
))
142 (f2cl-lib:fdo
(j jmin
(f2cl-lib:int-add j
1))
145 (setf vj
(f2cl-lib:fref jl-%data%
(j) ((1 *)) jl-%offset%
))
148 (setf qm
(f2cl-lib:fref q-%data%
(m) ((1 *)) q-%offset%
))
149 (if (< qm vj
) (go label8
))
150 (if (= qm vj
) (go label9
))
151 (setf luk
(f2cl-lib:int-add luk
1))
152 (setf (f2cl-lib:fref q-%data%
(m) ((1 *)) q-%offset%
) vj
)
153 (setf (f2cl-lib:fref q-%data%
(vj) ((1 *)) q-%offset%
) qm
)
158 (setf qm
(f2cl-lib:fref q-%data%
(np1) ((1 *)) q-%offset%
))
159 (if (/= qm k
) (go label105
))
160 (if (= luk
0) (go label17
))
161 (if (/= lastid luk
) (go label11
))
162 (setf irll
(f2cl-lib:fref irl-%data%
(lasti) ((1 *)) irl-%offset%
))
163 (setf (f2cl-lib:fref ijl-%data%
(k) ((1 *)) ijl-%offset%
)
164 (f2cl-lib:int-add irll
1))
165 (if (/= (f2cl-lib:fref jl-%data%
(irll) ((1 *)) jl-%offset%
) k
)
166 (setf (f2cl-lib:fref ijl-%data%
(k) ((1 *)) ijl-%offset%
)
168 (f2cl-lib:fref ijl-%data%
(k) ((1 *)) ijl-%offset%
)
172 (if (> jlmin jlptr
) (go label15
))
173 (setf qm
(f2cl-lib:fref q-%data%
(qm) ((1 *)) q-%offset%
))
174 (f2cl-lib:fdo
(j jlmin
(f2cl-lib:int-add j
1))
177 (f2cl-lib:arithmetic-if
179 (f2cl-lib:fref jl-%data%
(j) ((1 *)) jl-%offset%
)
187 (setf (f2cl-lib:fref ijl-%data%
(k) ((1 *)) ijl-%offset%
) j
)
188 (f2cl-lib:fdo
(i j
(f2cl-lib:int-add i
1))
191 (if (/= (f2cl-lib:fref jl-%data%
(i) ((1 *)) jl-%offset%
) qm
)
193 (setf qm
(f2cl-lib:fref q-%data%
(qm) ((1 *)) q-%offset%
))
194 (if (> qm n
) (go label17
))
196 (setf jlptr
(f2cl-lib:int-sub j
1))
198 (setf jlmin
(f2cl-lib:int-add jlptr
1))
199 (setf (f2cl-lib:fref ijl-%data%
(k) ((1 *)) ijl-%offset%
) jlmin
)
200 (if (= luk
0) (go label17
))
201 (setf jlptr
(f2cl-lib:int-add jlptr luk
))
202 (if (> jlptr jlmax
) (go label103
))
203 (setf qm
(f2cl-lib:fref q-%data%
(np1) ((1 *)) q-%offset%
))
204 (f2cl-lib:fdo
(j jlmin
(f2cl-lib:int-add j
1))
207 (setf qm
(f2cl-lib:fref q-%data%
(qm) ((1 *)) q-%offset%
))
209 (setf (f2cl-lib:fref jl-%data%
(j) ((1 *)) jl-%offset%
) qm
)))
211 (setf (f2cl-lib:fref irl-%data%
(k) ((1 *)) irl-%offset%
)
212 (f2cl-lib:fref ijl-%data%
(k) ((1 *)) ijl-%offset%
))
213 (setf (f2cl-lib:fref il-%data%
214 ((f2cl-lib:int-add k
1))
218 (f2cl-lib:fref il-%data%
(k) ((1 *)) il-%offset%
)
220 (setf (f2cl-lib:fref q-%data%
(np1) ((1 *)) q-%offset%
) np1
)
222 (setf rk
(f2cl-lib:fref r-%data%
(k) ((1 *)) r-%offset%
))
223 (setf jmin
(f2cl-lib:fref ira-%data%
(k) ((1 *)) ira-%offset%
))
226 (f2cl-lib:fref ia-%data%
227 ((f2cl-lib:int-add rk
1))
231 (if (> jmin jmax
) (go label20
))
232 (f2cl-lib:fdo
(j jmin
(f2cl-lib:int-add j
1))
236 (f2cl-lib:fref ic-%data%
237 ((f2cl-lib:fref ja
(j) ((1 *))))
243 (setf qm
(f2cl-lib:fref q-%data%
(m) ((1 *)) q-%offset%
))
244 (if (< qm vj
) (go label18
))
245 (if (= qm vj
) (go label102
))
246 (setf luk
(f2cl-lib:int-add luk
1))
247 (setf (f2cl-lib:fref q-%data%
(m) ((1 *)) q-%offset%
) vj
)
248 (setf (f2cl-lib:fref q-%data%
(vj) ((1 *)) q-%offset%
) qm
)
253 (setf (f2cl-lib:fref iju-%data%
(k) ((1 *)) iju-%offset%
) juptr
)
255 (setf i1
(f2cl-lib:fref jrl-%data%
(k) ((1 *)) jrl-%offset%
))
258 (if (= i
0) (go label26
))
259 (setf i1
(f2cl-lib:fref jrl-%data%
(i) ((1 *)) jrl-%offset%
))
261 (setf jmin
(f2cl-lib:fref iru-%data%
(i) ((1 *)) iru-%offset%
))
265 (f2cl-lib:fref iju-%data%
(i) ((1 *)) iju-%offset%
)
266 (f2cl-lib:fref iu-%data%
267 ((f2cl-lib:int-add i
1))
270 (f2cl-lib:fref iu-%data%
(i) ((1 *)) iu-%offset%
)
272 (setf long
(f2cl-lib:int-sub jmax jmin
))
273 (if (< long
0) (go label21
))
274 (setf jtmp
(f2cl-lib:fref ju-%data%
(jmin) ((1 *)) ju-%offset%
))
275 (if (= jtmp k
) (go label22
))
276 (setf long
(f2cl-lib:int-add long
1))
280 (f2cl-lib:fref ijl-%data%
(i) ((1 *)) ijl-%offset%
)
281 (f2cl-lib:fref il-%data%
282 ((f2cl-lib:int-add i
1))
285 (f2cl-lib:fref il-%data%
(i) ((1 *)) il-%offset%
)))
286 (setf (f2cl-lib:fref irl-%data%
(i) ((1 *)) irl-%offset%
)
288 (f2cl-lib:fref irl-%data%
(i) ((1 *)) irl-%offset%
)
290 (if (>= (f2cl-lib:fref irl-%data%
(i) ((1 *)) irl-%offset%
) cend
)
293 (f2cl-lib:fref jl-%data%
294 ((f2cl-lib:fref irl
(i) ((1 *))))
297 (setf (f2cl-lib:fref jrl-%data%
(i) ((1 *)) jrl-%offset%
)
298 (f2cl-lib:fref jrl-%data%
(j) ((1 *)) jrl-%offset%
))
299 (setf (f2cl-lib:fref jrl-%data%
(j) ((1 *)) jrl-%offset%
) i
)
301 (if (>= lastid long
) (go label23
))
305 (f2cl-lib:fdo
(j jmin
(f2cl-lib:int-add j
1))
308 (setf vj
(f2cl-lib:fref ju-%data%
(j) ((1 *)) ju-%offset%
))
311 (setf qm
(f2cl-lib:fref q-%data%
(m) ((1 *)) q-%offset%
))
312 (if (< qm vj
) (go label24
))
313 (if (= qm vj
) (go label25
))
314 (setf luk
(f2cl-lib:int-add luk
1))
315 (setf (f2cl-lib:fref q-%data%
(m) ((1 *)) q-%offset%
) vj
)
316 (setf (f2cl-lib:fref q-%data%
(vj) ((1 *)) q-%offset%
) qm
)
323 (f2cl-lib:fref il-%data%
324 ((f2cl-lib:int-add k
1))
327 (f2cl-lib:fref il-%data%
(k) ((1 *)) il-%offset%
))
330 (f2cl-lib:fref jl-%data%
331 ((f2cl-lib:fref irl
(k) ((1 *))))
334 (setf (f2cl-lib:fref jrl-%data%
(k) ((1 *)) jrl-%offset%
)
335 (f2cl-lib:fref jrl-%data%
(j) ((1 *)) jrl-%offset%
))
336 (setf (f2cl-lib:fref jrl-%data%
(j) ((1 *)) jrl-%offset%
) k
)
338 (setf qm
(f2cl-lib:fref q-%data%
(np1) ((1 *)) q-%offset%
))
339 (if (/= qm k
) (go label105
))
340 (if (= luk
0) (go label34
))
341 (if (/= lastid luk
) (go label28
))
342 (setf irul
(f2cl-lib:fref iru-%data%
(lasti) ((1 *)) iru-%offset%
))
343 (setf (f2cl-lib:fref iju-%data%
(k) ((1 *)) iju-%offset%
)
344 (f2cl-lib:int-add irul
1))
345 (if (/= (f2cl-lib:fref ju-%data%
(irul) ((1 *)) ju-%offset%
) k
)
346 (setf (f2cl-lib:fref iju-%data%
(k) ((1 *)) iju-%offset%
)
348 (f2cl-lib:fref iju-%data%
(k) ((1 *)) iju-%offset%
)
352 (if (> jumin juptr
) (go label32
))
353 (setf qm
(f2cl-lib:fref q-%data%
(qm) ((1 *)) q-%offset%
))
354 (f2cl-lib:fdo
(j jumin
(f2cl-lib:int-add j
1))
357 (f2cl-lib:arithmetic-if
359 (f2cl-lib:fref ju-%data%
(j) ((1 *)) ju-%offset%
)
367 (setf (f2cl-lib:fref iju-%data%
(k) ((1 *)) iju-%offset%
) j
)
368 (f2cl-lib:fdo
(i j
(f2cl-lib:int-add i
1))
371 (if (/= (f2cl-lib:fref ju-%data%
(i) ((1 *)) ju-%offset%
) qm
)
373 (setf qm
(f2cl-lib:fref q-%data%
(qm) ((1 *)) q-%offset%
))
374 (if (> qm n
) (go label34
))
376 (setf juptr
(f2cl-lib:int-sub j
1))
378 (setf jumin
(f2cl-lib:int-add juptr
1))
379 (setf (f2cl-lib:fref iju-%data%
(k) ((1 *)) iju-%offset%
) jumin
)
380 (if (= luk
0) (go label34
))
381 (setf juptr
(f2cl-lib:int-add juptr luk
))
382 (if (> juptr jumax
) (go label106
))
383 (setf qm
(f2cl-lib:fref q-%data%
(np1) ((1 *)) q-%offset%
))
384 (f2cl-lib:fdo
(j jumin
(f2cl-lib:int-add j
1))
387 (setf qm
(f2cl-lib:fref q-%data%
(qm) ((1 *)) q-%offset%
))
389 (setf (f2cl-lib:fref ju-%data%
(j) ((1 *)) ju-%offset%
) qm
)))
391 (setf (f2cl-lib:fref iru-%data%
(k) ((1 *)) iru-%offset%
)
392 (f2cl-lib:fref iju-%data%
(k) ((1 *)) iju-%offset%
))
393 (setf (f2cl-lib:fref iu-%data%
394 ((f2cl-lib:int-add k
1))
398 (f2cl-lib:fref iu-%data%
(k) ((1 *)) iu-%offset%
)
402 (setf i1
(f2cl-lib:fref jru-%data%
(i) ((1 *)) jru-%offset%
))
403 (if (< (f2cl-lib:fref r-%data%
(i) ((1 *)) r-%offset%
) 0)
408 (f2cl-lib:fref iju-%data%
(i) ((1 *)) iju-%offset%
)
409 (f2cl-lib:fref iu-%data%
410 ((f2cl-lib:int-add i
1))
413 (f2cl-lib:fref iu-%data%
(i) ((1 *)) iu-%offset%
)))
414 (if (>= (f2cl-lib:fref iru-%data%
(i) ((1 *)) iru-%offset%
) rend
)
417 (f2cl-lib:fref ju-%data%
418 ((f2cl-lib:fref iru
(i) ((1 *))))
421 (setf (f2cl-lib:fref jru-%data%
(i) ((1 *)) jru-%offset%
)
422 (f2cl-lib:fref jru-%data%
(j) ((1 *)) jru-%offset%
))
423 (setf (f2cl-lib:fref jru-%data%
(j) ((1 *)) jru-%offset%
) i
)
426 (setf (f2cl-lib:fref r-%data%
(i) ((1 *)) r-%offset%
)
428 (f2cl-lib:fref r-%data%
(i) ((1 *)) r-%offset%
)))
431 (if (= i
0) (go label38
))
432 (setf (f2cl-lib:fref iru-%data%
(i) ((1 *)) iru-%offset%
)
434 (f2cl-lib:fref iru-%data%
(i) ((1 *)) iru-%offset%
)
438 (setf i
(f2cl-lib:fref irac-%data%
(k) ((1 *)) irac-%offset%
))
439 (if (= i
0) (go label41
))
441 (setf i1
(f2cl-lib:fref jra-%data%
(i) ((1 *)) jra-%offset%
))
442 (setf (f2cl-lib:fref ira-%data%
(i) ((1 *)) ira-%offset%
)
444 (f2cl-lib:fref ira-%data%
(i) ((1 *)) ira-%offset%
)
447 (>= (f2cl-lib:fref ira-%data%
(i) ((1 *)) ira-%offset%
)
448 (f2cl-lib:fref ia-%data%
449 ((f2cl-lib:int-add
(f2cl-lib:fref r
(i) ((1 *)))
454 (setf irai
(f2cl-lib:fref ira-%data%
(i) ((1 *)) ira-%offset%
))
456 (f2cl-lib:fref ic-%data%
457 ((f2cl-lib:fref ja
(irai) ((1 *))))
460 (if (> jairai i
) (go label40
))
461 (setf (f2cl-lib:fref jra-%data%
(i) ((1 *)) jra-%offset%
)
462 (f2cl-lib:fref irac-%data%
(jairai) ((1 *)) irac-%offset%
))
463 (setf (f2cl-lib:fref irac-%data%
(jairai) ((1 *)) irac-%offset%
) i
)
466 (if (/= i
0) (go label39
))
468 (setf (f2cl-lib:fref ijl-%data%
(n) ((1 *)) ijl-%offset%
) jlptr
)
469 (setf (f2cl-lib:fref iju-%data%
(n) ((1 *)) iju-%offset%
) juptr
)
473 (setf flag
(f2cl-lib:int-add n rk
))
476 (setf flag
(f2cl-lib:int-add
(f2cl-lib:int-mul
2 n
) rk
))
479 (setf flag
(f2cl-lib:int-add
(f2cl-lib:int-mul
3 n
) k
))
482 (setf flag
(f2cl-lib:int-add
(f2cl-lib:int-mul
5 n
) k
))
485 (setf flag
(f2cl-lib:int-add
(f2cl-lib:int-mul
6 n
) k
))
512 (in-package #:cl-user
)
513 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
514 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
515 (setf (gethash 'fortran-to-lisp
::nsfc fortran-to-lisp
::*f2cl-function-info
*)
516 (fortran-to-lisp::make-f2cl-finfo
517 :arg-types
'((fortran-to-lisp::integer4
)
518 (array fortran-to-lisp
::integer4
(*))
519 (array fortran-to-lisp
::integer4
(*))
520 (array fortran-to-lisp
::integer4
(*))
521 (array fortran-to-lisp
::integer4
(*))
522 (fortran-to-lisp::integer4
)
523 (array fortran-to-lisp
::integer4
(*))
524 (array fortran-to-lisp
::integer4
(*))
525 (array fortran-to-lisp
::integer4
(*))
526 (fortran-to-lisp::integer4
)
527 (array fortran-to-lisp
::integer4
(*))
528 (array fortran-to-lisp
::integer4
(*))
529 (array fortran-to-lisp
::integer4
(*))
530 (array fortran-to-lisp
::integer4
(*))
531 (array fortran-to-lisp
::integer4
(*))
532 (array fortran-to-lisp
::integer4
(*))
533 (array fortran-to-lisp
::integer4
(*))
534 (array fortran-to-lisp
::integer4
(*))
535 (array fortran-to-lisp
::integer4
(*))
536 (array fortran-to-lisp
::integer4
(*))
537 (array fortran-to-lisp
::integer4
(*))
538 (fortran-to-lisp::integer4
))
539 :return-values
'(nil nil nil nil nil nil nil nil nil nil nil nil nil
540 nil nil nil nil nil nil nil nil
541 fortran-to-lisp
::flag
)