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 (let ((lenrls 218) (lenils 37) (lenrlp 4) (lenilp 13) (lenrlr 5) (lenilr 9))
21 (declare (type (f2cl-lib:integer4
) lenrls lenils lenrlp lenilp lenrlr
23 (defun dsrckr (rsav isav job
)
24 (declare (type (f2cl-lib:integer4
) job
)
25 (type (array f2cl-lib
:integer4
(*)) isav
)
26 (type (array double-float
(*)) rsav
))
29 :element-type
'double-float
30 :displaced-to
(dls001-part-0 *dls001-common-block
*)
31 :displaced-index-offset
0))
34 :element-type
'f2cl-lib
:integer4
35 :displaced-to
(dls001-part-1 *dls001-common-block
*)
36 :displaced-index-offset
0))
39 :element-type
'f2cl-lib
:integer4
40 :displaced-to
(dls002-part-1 *dls002-common-block
*)
41 :displaced-index-offset
0))
44 :element-type
'double-float
45 :displaced-to
(dlsr01-part-0 *dlsr01-common-block
*)
46 :displaced-index-offset
0))
49 :element-type
'f2cl-lib
:integer4
50 :displaced-to
(dlsr01-part-1 *dlsr01-common-block
*)
51 :displaced-index-offset
0))
54 :element-type
'double-float
55 :displaced-to
(dlpk01-part-0 *dlpk01-common-block
*)
56 :displaced-index-offset
0))
59 :element-type
'f2cl-lib
:integer4
60 :displaced-to
(dlpk01-part-1 *dlpk01-common-block
*)
61 :displaced-index-offset
0)))
62 (symbol-macrolet ((rls dls001-rls
)
64 (rls2 (aref (dls002-part-0 *dls002-common-block
*) 0))
70 (f2cl-lib:with-multi-array-data
71 ((rsav double-float rsav-%data% rsav-%offset%
)
72 (isav f2cl-lib
:integer4 isav-%data% isav-%offset%
))
73 (prog ((ioff 0) (i 0))
74 (declare (type (f2cl-lib:integer4
) i ioff
))
75 (if (= job
2) (go label100
))
76 (dcopy lenrls rls
1 rsav
1)
77 (setf (f2cl-lib:fref rsav-%data%
78 ((f2cl-lib:int-add lenrls
1))
83 (f2cl-lib:array-slice rsav-%data%
90 (f2cl-lib:array-slice rsav-%data%
96 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
100 (setf (f2cl-lib:fref isav-%data%
(i) ((1 *)) isav-%offset%
)
101 (f2cl-lib:fref ils
(i) ((1 37))))))
102 (setf (f2cl-lib:fref isav-%data%
103 ((f2cl-lib:int-add lenils
1))
106 (f2cl-lib:fref ils2
(1) ((1 4))))
107 (setf (f2cl-lib:fref isav-%data%
108 ((f2cl-lib:int-add lenils
2))
111 (f2cl-lib:fref ils2
(2) ((1 4))))
112 (setf (f2cl-lib:fref isav-%data%
113 ((f2cl-lib:int-add lenils
3))
116 (f2cl-lib:fref ils2
(3) ((1 4))))
117 (setf (f2cl-lib:fref isav-%data%
118 ((f2cl-lib:int-add lenils
4))
121 (f2cl-lib:fref ils2
(4) ((1 4))))
122 (setf ioff
(f2cl-lib:int-add lenils
2))
123 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
127 (setf (f2cl-lib:fref isav-%data%
128 ((f2cl-lib:int-add ioff i
))
131 (f2cl-lib:fref ilsr
(i) ((1 9))))))
132 (setf ioff
(f2cl-lib:int-add ioff lenilr
))
133 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
137 (setf (f2cl-lib:fref isav-%data%
138 ((f2cl-lib:int-add ioff i
))
141 (f2cl-lib:fref ilsp
(i) ((1 13))))))
144 (dcopy lenrls rsav
1 rls
1)
146 (f2cl-lib:fref rsav-%data%
147 ((f2cl-lib:int-add lenrls
1))
151 (f2cl-lib:array-slice rsav-%data%
158 (f2cl-lib:array-slice rsav-%data%
160 ((+ lenrls lenrlr
2))
164 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
168 (setf (f2cl-lib:fref ils
(i) ((1 37)))
169 (f2cl-lib:fref isav-%data%
173 (setf (f2cl-lib:fref ils2
(1) ((1 4)))
174 (f2cl-lib:fref isav-%data%
175 ((f2cl-lib:int-add lenils
1))
178 (setf (f2cl-lib:fref ils2
(2) ((1 4)))
179 (f2cl-lib:fref isav-%data%
180 ((f2cl-lib:int-add lenils
2))
183 (setf (f2cl-lib:fref ils2
(3) ((1 4)))
184 (f2cl-lib:fref isav-%data%
185 ((f2cl-lib:int-add lenils
3))
188 (setf (f2cl-lib:fref ils2
(4) ((1 4)))
189 (f2cl-lib:fref isav-%data%
190 ((f2cl-lib:int-add lenils
4))
193 (setf ioff
(f2cl-lib:int-add lenils
2))
194 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
198 (setf (f2cl-lib:fref ilsr
(i) ((1 9)))
199 (f2cl-lib:fref isav-%data%
200 ((f2cl-lib:int-add ioff i
))
203 (setf ioff
(f2cl-lib:int-add ioff lenilr
))
204 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
208 (setf (f2cl-lib:fref ilsp
(i) ((1 13)))
209 (f2cl-lib:fref isav-%data%
210 ((f2cl-lib:int-add ioff i
))
215 (return (values nil nil nil
))))))))
217 (in-package #:cl-user
)
218 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
219 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
220 (setf (gethash 'fortran-to-lisp
::dsrckr
221 fortran-to-lisp
::*f2cl-function-info
*)
222 (fortran-to-lisp::make-f2cl-finfo
223 :arg-types
'((array double-float
(*))
224 (array fortran-to-lisp
::integer4
(*))
225 (fortran-to-lisp::integer4
))
226 :return-values
'(nil nil nil
)
227 :calls
'(fortran-to-lisp::dcopy
))))