In documentation for lreduce and rreduce, supply second argument as an explicit list
[maxima.git] / share / odepack / src / dsrckr.lisp
blobc09bc8d7fffcefc57111c59c5bc49c2fce24b320
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)
11 ;;;
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
22 lenilr))
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))
27 (let ((dls001-rls
28 (make-array 218
29 :element-type 'double-float
30 :displaced-to (dls001-part-0 *dls001-common-block*)
31 :displaced-index-offset 0))
32 (dls001-ils
33 (make-array 37
34 :element-type 'f2cl-lib:integer4
35 :displaced-to (dls001-part-1 *dls001-common-block*)
36 :displaced-index-offset 0))
37 (dls002-ils2
38 (make-array 4
39 :element-type 'f2cl-lib:integer4
40 :displaced-to (dls002-part-1 *dls002-common-block*)
41 :displaced-index-offset 0))
42 (dlsr01-rlsr
43 (make-array 5
44 :element-type 'double-float
45 :displaced-to (dlsr01-part-0 *dlsr01-common-block*)
46 :displaced-index-offset 0))
47 (dlsr01-ilsr
48 (make-array 9
49 :element-type 'f2cl-lib:integer4
50 :displaced-to (dlsr01-part-1 *dlsr01-common-block*)
51 :displaced-index-offset 0))
52 (dlpk01-rlsp
53 (make-array 4
54 :element-type 'double-float
55 :displaced-to (dlpk01-part-0 *dlpk01-common-block*)
56 :displaced-index-offset 0))
57 (dlpk01-ilsp
58 (make-array 13
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)
63 (ils dls001-ils)
64 (rls2 (aref (dls002-part-0 *dls002-common-block*) 0))
65 (ils2 dls002-ils2)
66 (rlsr dlsr01-rlsr)
67 (ilsr dlsr01-ilsr)
68 (rlsp dlpk01-rlsp)
69 (ilsp dlpk01-ilsp))
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))
79 ((1 *))
80 rsav-%offset%)
81 rls2)
82 (dcopy lenrlr rlsr 1
83 (f2cl-lib:array-slice rsav-%data%
84 double-float
85 ((+ lenrls 2))
86 ((1 *))
87 rsav-%offset%)
89 (dcopy lenrlp rlsp 1
90 (f2cl-lib:array-slice rsav-%data%
91 double-float
92 ((+ lenrls lenrlr 2))
93 ((1 *))
94 rsav-%offset%)
96 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
97 ((> i lenils) nil)
98 (tagbody
99 label20
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))
104 ((1 *))
105 isav-%offset%)
106 (f2cl-lib:fref ils2 (1) ((1 4))))
107 (setf (f2cl-lib:fref isav-%data%
108 ((f2cl-lib:int-add lenils 2))
109 ((1 *))
110 isav-%offset%)
111 (f2cl-lib:fref ils2 (2) ((1 4))))
112 (setf (f2cl-lib:fref isav-%data%
113 ((f2cl-lib:int-add lenils 3))
114 ((1 *))
115 isav-%offset%)
116 (f2cl-lib:fref ils2 (3) ((1 4))))
117 (setf (f2cl-lib:fref isav-%data%
118 ((f2cl-lib:int-add lenils 4))
119 ((1 *))
120 isav-%offset%)
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))
124 ((> i lenilr) nil)
125 (tagbody
126 label30
127 (setf (f2cl-lib:fref isav-%data%
128 ((f2cl-lib:int-add ioff i))
129 ((1 *))
130 isav-%offset%)
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))
134 ((> i lenilp) nil)
135 (tagbody
136 label40
137 (setf (f2cl-lib:fref isav-%data%
138 ((f2cl-lib:int-add ioff i))
139 ((1 *))
140 isav-%offset%)
141 (f2cl-lib:fref ilsp (i) ((1 13))))))
142 (go end_label)
143 label100
144 (dcopy lenrls rsav 1 rls 1)
145 (setf rls2
146 (f2cl-lib:fref rsav-%data%
147 ((f2cl-lib:int-add lenrls 1))
148 ((1 *))
149 rsav-%offset%))
150 (dcopy lenrlr
151 (f2cl-lib:array-slice rsav-%data%
152 double-float
153 ((+ lenrls 2))
154 ((1 *))
155 rsav-%offset%)
156 1 rlsr 1)
157 (dcopy lenrlp
158 (f2cl-lib:array-slice rsav-%data%
159 double-float
160 ((+ lenrls lenrlr 2))
161 ((1 *))
162 rsav-%offset%)
163 1 rlsp 1)
164 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
165 ((> i lenils) nil)
166 (tagbody
167 label120
168 (setf (f2cl-lib:fref ils (i) ((1 37)))
169 (f2cl-lib:fref isav-%data%
171 ((1 *))
172 isav-%offset%))))
173 (setf (f2cl-lib:fref ils2 (1) ((1 4)))
174 (f2cl-lib:fref isav-%data%
175 ((f2cl-lib:int-add lenils 1))
176 ((1 *))
177 isav-%offset%))
178 (setf (f2cl-lib:fref ils2 (2) ((1 4)))
179 (f2cl-lib:fref isav-%data%
180 ((f2cl-lib:int-add lenils 2))
181 ((1 *))
182 isav-%offset%))
183 (setf (f2cl-lib:fref ils2 (3) ((1 4)))
184 (f2cl-lib:fref isav-%data%
185 ((f2cl-lib:int-add lenils 3))
186 ((1 *))
187 isav-%offset%))
188 (setf (f2cl-lib:fref ils2 (4) ((1 4)))
189 (f2cl-lib:fref isav-%data%
190 ((f2cl-lib:int-add lenils 4))
191 ((1 *))
192 isav-%offset%))
193 (setf ioff (f2cl-lib:int-add lenils 2))
194 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
195 ((> i lenilr) nil)
196 (tagbody
197 label130
198 (setf (f2cl-lib:fref ilsr (i) ((1 9)))
199 (f2cl-lib:fref isav-%data%
200 ((f2cl-lib:int-add ioff i))
201 ((1 *))
202 isav-%offset%))))
203 (setf ioff (f2cl-lib:int-add ioff lenilr))
204 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
205 ((> i lenilp) nil)
206 (tagbody
207 label140
208 (setf (f2cl-lib:fref ilsp (i) ((1 13)))
209 (f2cl-lib:fref isav-%data%
210 ((f2cl-lib:int-add ioff i))
211 ((1 *))
212 isav-%offset%))))
213 (go end_label)
214 end_label
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))))