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 (declare (type (f2cl-lib:integer4
) lratio
))
22 (defun cdrv (n r c ic ia ja a b z nsp isp rsp esp path flag
)
23 (declare (type (array double-float
(*)) rsp z b a
)
24 (type (array f2cl-lib
:integer4
(*)) isp ja ia ic c r
)
25 (type (f2cl-lib:integer4
) flag path esp nsp n
))
26 (f2cl-lib:with-multi-array-data
27 ((r f2cl-lib
:integer4 r-%data% r-%offset%
)
28 (c f2cl-lib
:integer4 c-%data% c-%offset%
)
29 (ic f2cl-lib
:integer4 ic-%data% ic-%offset%
)
30 (ia f2cl-lib
:integer4 ia-%data% ia-%offset%
)
31 (ja f2cl-lib
:integer4 ja-%data% ja-%offset%
)
32 (isp f2cl-lib
:integer4 isp-%data% isp-%offset%
)
33 (a double-float a-%data% a-%offset%
)
34 (b double-float b-%data% b-%offset%
)
35 (z double-float z-%data% z-%offset%
)
36 (rsp double-float rsp-%data% rsp-%offset%
))
37 (prog ((d 0) (u 0) (q 0) (row 0) (tmp 0) (ar 0) (umax 0) (lmax 0) (l 0)
38 (j 0) (ju 0) (i 0) (jumax 0) (jutmp 0) (jru 0) (iru 0) (irac 0)
39 (jra 0) (ira 0) (jlmax 0) (max (the f2cl-lib
:integer4
0)) (jl 0)
40 (jrl 0) (irl 0) (iju 0) (iu 0) (ijl 0) (il 0))
41 (declare (type (f2cl-lib:integer4
) il ijl iu iju irl jrl jl max jlmax
42 ira jra irac iru jru jutmp jumax i
43 ju j l lmax umax ar tmp row q u d
))
44 (if (or (< path
1) (< 5 path
)) (go label111
))
46 (setf ijl
(f2cl-lib:int-add il
(f2cl-lib:int-add n
1)))
47 (setf iu
(f2cl-lib:int-add ijl n
))
48 (setf iju
(f2cl-lib:int-add iu
(f2cl-lib:int-add n
1)))
49 (setf irl
(f2cl-lib:int-add iju n
))
50 (setf jrl
(f2cl-lib:int-add irl n
))
51 (setf jl
(f2cl-lib:int-add jrl n
))
54 (f2cl-lib:int-mul
(f2cl-lib:int-sub path
1)
55 (f2cl-lib:int-sub path
5))
60 (f2cl-lib:int-add
(f2cl-lib:int-mul lratio nsp
) 1)
62 (f2cl-lib:int-add n
1)
63 (f2cl-lib:int-mul
5 n
)))
64 (setf jlmax
(the f2cl-lib
:integer4
(truncate max
2)))
65 (setf q
(f2cl-lib:int-add jl jlmax
))
66 (setf ira
(f2cl-lib:int-add q
(f2cl-lib:int-add n
1)))
67 (setf jra
(f2cl-lib:int-add ira n
))
68 (setf irac
(f2cl-lib:int-add jra n
))
69 (setf iru
(f2cl-lib:int-add irac n
))
70 (setf jru
(f2cl-lib:int-add iru n
))
71 (setf jutmp
(f2cl-lib:int-add jru n
))
74 (f2cl-lib:int-add
(f2cl-lib:int-mul lratio nsp
) 1)
76 (setf esp
(the f2cl-lib
:integer4
(truncate max lratio
)))
77 (if (or (<= jlmax
0) (<= jumax
0)) (go label110
))
78 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
81 (if (/= (f2cl-lib:fref c-%data%
(i) ((1 *)) c-%offset%
) i
)
86 (setf ar
(f2cl-lib:int-sub
(f2cl-lib:int-add nsp
1) n
))
88 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8
)
90 (f2cl-lib:array-slice isp-%data%
95 (f2cl-lib:array-slice rsp-%data%
100 (f2cl-lib:array-slice isp-%data%
106 (declare (ignore var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
))
108 (if (/= flag
0) (go label100
))
111 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
112 var-10 var-11 var-12 var-13 var-14 var-15 var-16 var-17 var-18
113 var-19 var-20 var-21
)
114 (nsfc n r ic ia ja jlmax
115 (f2cl-lib:array-slice isp-%data%
120 (f2cl-lib:array-slice isp-%data%
125 (f2cl-lib:array-slice isp-%data%
131 (f2cl-lib:array-slice isp-%data%
136 (f2cl-lib:array-slice isp-%data%
141 (f2cl-lib:array-slice isp-%data%
146 (f2cl-lib:array-slice isp-%data%
151 (f2cl-lib:array-slice isp-%data%
156 (f2cl-lib:array-slice isp-%data%
161 (f2cl-lib:array-slice isp-%data%
166 (f2cl-lib:array-slice isp-%data%
171 (f2cl-lib:array-slice isp-%data%
176 (f2cl-lib:array-slice isp-%data%
181 (f2cl-lib:array-slice isp-%data%
187 (declare (ignore var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
188 var-8 var-9 var-10 var-11 var-12 var-13 var-14
189 var-15 var-16 var-17 var-18 var-19 var-20
))
191 (if (/= flag
0) (go label100
))
193 (f2cl-lib:fref isp-%data%
194 ((f2cl-lib:int-sub
(f2cl-lib:int-add ijl n
) 1))
197 (setf ju
(f2cl-lib:int-add jl jlmax
))
199 (f2cl-lib:fref isp-%data%
200 ((f2cl-lib:int-sub
(f2cl-lib:int-add iju n
) 1))
203 (if (<= jumax
0) (go label5
))
204 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
208 (setf (f2cl-lib:fref isp-%data%
209 ((f2cl-lib:int-sub
(f2cl-lib:int-add ju j
) 1))
212 (f2cl-lib:fref isp-%data%
214 (f2cl-lib:int-add jutmp j
)
220 (f2cl-lib:fref isp-%data%
221 ((f2cl-lib:int-sub
(f2cl-lib:int-add ijl n
) 1))
224 (setf ju
(f2cl-lib:int-add jl jlmax
))
226 (f2cl-lib:fref isp-%data%
227 ((f2cl-lib:int-sub
(f2cl-lib:int-add iju n
) 1))
232 (the f2cl-lib
:integer4
233 (truncate (+ (- (+ ju jumax
) 2) lratio
) lratio
))
237 (f2cl-lib:fref isp-%data%
238 ((f2cl-lib:int-add il n
))
242 (setf d
(f2cl-lib:int-add l lmax
))
243 (setf u
(f2cl-lib:int-add d n
))
244 (setf row
(f2cl-lib:int-sub
(f2cl-lib:int-add nsp
1) n
))
245 (setf tmp
(f2cl-lib:int-sub row n
))
246 (setf umax
(f2cl-lib:int-sub tmp u
))
248 (f2cl-lib:int-sub umax
250 (f2cl-lib:fref isp-%data%
251 ((f2cl-lib:int-add iu n
))
257 (f2cl-lib:int-mul
(f2cl-lib:int-sub path
1)
258 (f2cl-lib:int-sub path
2))
261 (if (< umax
0) (go label110
))
263 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
264 var-10 var-11 var-12 var-13 var-14 var-15 var-16 var-17 var-18
265 var-19 var-20 var-21 var-22 var-23 var-24
)
266 (nnfc n r c ic ia ja a z b lmax
267 (f2cl-lib:array-slice isp-%data%
272 (f2cl-lib:array-slice isp-%data%
277 (f2cl-lib:array-slice isp-%data%
282 (f2cl-lib:array-slice rsp-%data%
287 (f2cl-lib:array-slice rsp-%data%
293 (f2cl-lib:array-slice isp-%data%
298 (f2cl-lib:array-slice isp-%data%
303 (f2cl-lib:array-slice isp-%data%
308 (f2cl-lib:array-slice rsp-%data%
313 (f2cl-lib:array-slice rsp-%data%
318 (f2cl-lib:array-slice rsp-%data%
323 (f2cl-lib:array-slice isp-%data%
328 (f2cl-lib:array-slice isp-%data%
334 (declare (ignore var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
335 var-8 var-9 var-10 var-11 var-12 var-13 var-14
336 var-15 var-16 var-17 var-18 var-19 var-20 var-21
339 (if (/= flag
0) (go label100
))
341 (if (/= (f2cl-lib:int-sub path
3) 0) (go label7
))
343 (f2cl-lib:array-slice isp-%data%
348 (f2cl-lib:array-slice isp-%data%
353 (f2cl-lib:array-slice isp-%data%
358 (f2cl-lib:array-slice rsp-%data%
363 (f2cl-lib:array-slice rsp-%data%
368 (f2cl-lib:array-slice isp-%data%
373 (f2cl-lib:array-slice isp-%data%
378 (f2cl-lib:array-slice isp-%data%
383 (f2cl-lib:array-slice rsp-%data%
389 (f2cl-lib:array-slice rsp-%data%
395 (if (/= (f2cl-lib:int-sub path
4) 0) (go label8
))
397 (f2cl-lib:array-slice isp-%data%
402 (f2cl-lib:array-slice isp-%data%
407 (f2cl-lib:array-slice isp-%data%
412 (f2cl-lib:array-slice rsp-%data%
417 (f2cl-lib:array-slice rsp-%data%
422 (f2cl-lib:array-slice isp-%data%
427 (f2cl-lib:array-slice isp-%data%
432 (f2cl-lib:array-slice isp-%data%
437 (f2cl-lib:array-slice rsp-%data%
443 (f2cl-lib:array-slice rsp-%data%
453 (setf flag
(f2cl-lib:int-add
(f2cl-lib:int-mul
10 n
) 1))
456 (setf flag
(f2cl-lib:int-add
(f2cl-lib:int-mul
11 n
) 1))
476 (in-package #:cl-user
)
477 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
478 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
479 (setf (gethash 'fortran-to-lisp
::cdrv fortran-to-lisp
::*f2cl-function-info
*)
480 (fortran-to-lisp::make-f2cl-finfo
481 :arg-types
'((fortran-to-lisp::integer4
)
482 (array fortran-to-lisp
::integer4
(*))
483 (array fortran-to-lisp
::integer4
(*))
484 (array fortran-to-lisp
::integer4
(*))
485 (array fortran-to-lisp
::integer4
(*))
486 (array fortran-to-lisp
::integer4
(*))
487 (array double-float
(*)) (array double-float
(*))
488 (array double-float
(*)) (fortran-to-lisp::integer4
)
489 (array fortran-to-lisp
::integer4
(*))
490 (array double-float
(*)) (fortran-to-lisp::integer4
)
491 (fortran-to-lisp::integer4
)
492 (fortran-to-lisp::integer4
))
493 :return-values
'(nil nil nil nil nil nil nil nil nil nil nil nil
494 fortran-to-lisp
::esp nil fortran-to-lisp
::flag
)
495 :calls
'(fortran-to-lisp::nntc fortran-to-lisp
::nnsc
496 fortran-to-lisp
::nnfc fortran-to-lisp
::nsfc
497 fortran-to-lisp
::nroc
))))