In documentation for lreduce and rreduce, supply second argument as an explicit list
[maxima.git] / share / odepack / src / dsrcms.lisp
blob4bc37715fad4c0834a0e8aebef9dab54b8f5bf3b
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) (lenrss 6) (leniss 34))
21 (declare (type (f2cl-lib:integer4) lenrls lenils lenrss leniss))
22 (defun dsrcms (rsav isav job)
23 (declare (type (f2cl-lib:integer4) job)
24 (type (array f2cl-lib:integer4 (*)) isav)
25 (type (array double-float (*)) rsav))
26 (let ((dls001-rls
27 (make-array 218
28 :element-type 'double-float
29 :displaced-to (dls001-part-0 *dls001-common-block*)
30 :displaced-index-offset 0))
31 (dls001-ils
32 (make-array 37
33 :element-type 'f2cl-lib:integer4
34 :displaced-to (dls001-part-1 *dls001-common-block*)
35 :displaced-index-offset 0))
36 (dlss01-rlss
37 (make-array 6
38 :element-type 'double-float
39 :displaced-to (dlss01-part-0 *dlss01-common-block*)
40 :displaced-index-offset 0))
41 (dlss01-ilss
42 (make-array 34
43 :element-type 'f2cl-lib:integer4
44 :displaced-to (dlss01-part-1 *dlss01-common-block*)
45 :displaced-index-offset 0)))
46 (symbol-macrolet ((rls dls001-rls)
47 (ils dls001-ils)
48 (rlss dlss01-rlss)
49 (ilss dlss01-ilss))
50 (f2cl-lib:with-multi-array-data
51 ((rsav double-float rsav-%data% rsav-%offset%)
52 (isav f2cl-lib:integer4 isav-%data% isav-%offset%))
53 (prog ((i 0))
54 (declare (type (f2cl-lib:integer4) i))
55 (if (= job 2) (go label100))
56 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
57 ((> i lenrls) nil)
58 (tagbody
59 label10
60 (setf (f2cl-lib:fref rsav-%data% (i) ((1 *)) rsav-%offset%)
61 (f2cl-lib:fref rls (i) ((1 218))))))
62 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
63 ((> i lenrss) nil)
64 (tagbody
65 label15
66 (setf (f2cl-lib:fref rsav-%data%
67 ((f2cl-lib:int-add lenrls i))
68 ((1 *))
69 rsav-%offset%)
70 (f2cl-lib:fref rlss (i) ((1 6))))))
71 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
72 ((> i lenils) nil)
73 (tagbody
74 label20
75 (setf (f2cl-lib:fref isav-%data% (i) ((1 *)) isav-%offset%)
76 (f2cl-lib:fref ils (i) ((1 37))))))
77 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
78 ((> i leniss) nil)
79 (tagbody
80 label25
81 (setf (f2cl-lib:fref isav-%data%
82 ((f2cl-lib:int-add lenils i))
83 ((1 *))
84 isav-%offset%)
85 (f2cl-lib:fref ilss (i) ((1 34))))))
86 (go end_label)
87 label100
88 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
89 ((> i lenrls) nil)
90 (tagbody
91 label110
92 (setf (f2cl-lib:fref rls (i) ((1 218)))
93 (f2cl-lib:fref rsav-%data%
94 (i)
95 ((1 *))
96 rsav-%offset%))))
97 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
98 ((> i lenrss) nil)
99 (tagbody
100 label115
101 (setf (f2cl-lib:fref rlss (i) ((1 6)))
102 (f2cl-lib:fref rsav-%data%
103 ((f2cl-lib:int-add lenrls i))
104 ((1 *))
105 rsav-%offset%))))
106 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
107 ((> i lenils) nil)
108 (tagbody
109 label120
110 (setf (f2cl-lib:fref ils (i) ((1 37)))
111 (f2cl-lib:fref isav-%data%
113 ((1 *))
114 isav-%offset%))))
115 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
116 ((> i leniss) nil)
117 (tagbody
118 label125
119 (setf (f2cl-lib:fref ilss (i) ((1 34)))
120 (f2cl-lib:fref isav-%data%
121 ((f2cl-lib:int-add lenils i))
122 ((1 *))
123 isav-%offset%))))
124 (go end_label)
125 end_label
126 (return (values nil nil nil))))))))
128 (in-package #:cl-user)
129 #+#.(cl:if (cl:find-package '#:f2cl) '(and) '(or))
130 (eval-when (:load-toplevel :compile-toplevel :execute)
131 (setf (gethash 'fortran-to-lisp::dsrcms
132 fortran-to-lisp::*f2cl-function-info*)
133 (fortran-to-lisp::make-f2cl-finfo
134 :arg-types '((array double-float (*))
135 (array fortran-to-lisp::integer4 (*))
136 (fortran-to-lisp::integer4))
137 :return-values '(nil nil nil)
138 :calls 'nil)))