In documentation for lreduce and rreduce, supply second argument as an explicit list
[maxima.git] / share / odepack / src / nntc.lisp
bloba0f10d908908cf00d57545c128ebcded0288b130
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 (defun nntc (n r c il jl ijl l d iu ju iju u z b tmp)
21 (declare (type (array double-float (*)) tmp b z u d l)
22 (type (array f2cl-lib:integer4 (*)) iju ju iu ijl jl il c r)
23 (type (f2cl-lib:integer4) n))
24 (f2cl-lib:with-multi-array-data
25 ((r f2cl-lib:integer4 r-%data% r-%offset%)
26 (c f2cl-lib:integer4 c-%data% c-%offset%)
27 (il f2cl-lib:integer4 il-%data% il-%offset%)
28 (jl f2cl-lib:integer4 jl-%data% jl-%offset%)
29 (ijl f2cl-lib:integer4 ijl-%data% ijl-%offset%)
30 (iu f2cl-lib:integer4 iu-%data% iu-%offset%)
31 (ju f2cl-lib:integer4 ju-%data% ju-%offset%)
32 (iju f2cl-lib:integer4 iju-%data% iju-%offset%)
33 (l double-float l-%data% l-%offset%)
34 (d double-float d-%data% d-%offset%)
35 (u double-float u-%data% u-%offset%)
36 (z double-float z-%data% z-%offset%)
37 (b double-float b-%data% b-%offset%)
38 (tmp double-float tmp-%data% tmp-%offset%))
39 (prog ((tmpk 0.0d0) (sum 0.0d0) (ml 0) (i 0) (j 0) (mu 0) (jmax 0) (jmin 0)
40 (k 0))
41 (declare (type (f2cl-lib:integer4) k jmin jmax mu j i ml)
42 (type (double-float) sum tmpk))
43 (f2cl-lib:fdo (k 1 (f2cl-lib:int-add k 1))
44 ((> k n) nil)
45 (tagbody
46 label1
47 (setf (f2cl-lib:fref tmp-%data% (k) ((1 *)) tmp-%offset%)
48 (f2cl-lib:fref b-%data%
49 ((f2cl-lib:fref c (k) ((1 *))))
50 ((1 *))
51 b-%offset%))))
52 (f2cl-lib:fdo (k 1 (f2cl-lib:int-add k 1))
53 ((> k n) nil)
54 (tagbody
55 (setf jmin (f2cl-lib:fref iu-%data% (k) ((1 *)) iu-%offset%))
56 (setf jmax
57 (f2cl-lib:int-sub
58 (f2cl-lib:fref iu-%data%
59 ((f2cl-lib:int-add k 1))
60 ((1 *))
61 iu-%offset%)
62 1))
63 (setf tmpk (- (f2cl-lib:fref tmp-%data% (k) ((1 *)) tmp-%offset%)))
64 (if (> jmin jmax) (go label3))
65 (setf mu
66 (f2cl-lib:int-sub
67 (f2cl-lib:fref iju-%data% (k) ((1 *)) iju-%offset%)
68 jmin))
69 (f2cl-lib:fdo (j jmin (f2cl-lib:int-add j 1))
70 ((> j jmax) nil)
71 (tagbody
72 label2
73 (setf (f2cl-lib:fref tmp-%data%
74 ((f2cl-lib:fref ju
75 ((f2cl-lib:int-add mu j))
76 ((1 *))))
77 ((1 *))
78 tmp-%offset%)
80 (f2cl-lib:fref tmp-%data%
81 ((f2cl-lib:fref ju
82 ((f2cl-lib:int-add mu j))
83 ((1 *))))
84 ((1 *))
85 tmp-%offset%)
86 (* tmpk
87 (f2cl-lib:fref u-%data% (j) ((1 *)) u-%offset%))))))
88 label3))
89 (setf k n)
90 (f2cl-lib:fdo (i 1 (f2cl-lib:int-add i 1))
91 ((> i n) nil)
92 (tagbody
93 (setf sum (- (f2cl-lib:fref tmp-%data% (k) ((1 *)) tmp-%offset%)))
94 (setf jmin (f2cl-lib:fref il-%data% (k) ((1 *)) il-%offset%))
95 (setf jmax
96 (f2cl-lib:int-sub
97 (f2cl-lib:fref il-%data%
98 ((f2cl-lib:int-add k 1))
99 ((1 *))
100 il-%offset%)
102 (if (> jmin jmax) (go label5))
103 (setf ml
104 (f2cl-lib:int-sub
105 (f2cl-lib:fref ijl-%data% (k) ((1 *)) ijl-%offset%)
106 jmin))
107 (f2cl-lib:fdo (j jmin (f2cl-lib:int-add j 1))
108 ((> j jmax) nil)
109 (tagbody
110 label4
111 (setf sum
112 (+ sum
113 (* (f2cl-lib:fref l-%data% (j) ((1 *)) l-%offset%)
114 (f2cl-lib:fref tmp-%data%
115 ((f2cl-lib:fref jl
116 ((f2cl-lib:int-add
119 ((1 *))))
120 ((1 *))
121 tmp-%offset%))))))
122 label5
123 (setf (f2cl-lib:fref tmp-%data% (k) ((1 *)) tmp-%offset%)
124 (* (- sum) (f2cl-lib:fref d-%data% (k) ((1 *)) d-%offset%)))
125 (setf (f2cl-lib:fref z-%data%
126 ((f2cl-lib:fref r (k) ((1 *))))
127 ((1 *))
128 z-%offset%)
129 (f2cl-lib:fref tmp-%data% (k) ((1 *)) tmp-%offset%))
130 (setf k (f2cl-lib:int-sub k 1))
131 label6))
132 (go end_label)
133 end_label
134 (return
135 (values nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil)))))
137 (in-package #:cl-user)
138 #+#.(cl:if (cl:find-package '#:f2cl) '(and) '(or))
139 (eval-when (:load-toplevel :compile-toplevel :execute)
140 (setf (gethash 'fortran-to-lisp::nntc fortran-to-lisp::*f2cl-function-info*)
141 (fortran-to-lisp::make-f2cl-finfo
142 :arg-types '((fortran-to-lisp::integer4)
143 (array fortran-to-lisp::integer4 (*))
144 (array fortran-to-lisp::integer4 (*))
145 (array fortran-to-lisp::integer4 (*))
146 (array fortran-to-lisp::integer4 (*))
147 (array fortran-to-lisp::integer4 (*))
148 (array double-float (*)) (array double-float (*))
149 (array fortran-to-lisp::integer4 (*))
150 (array fortran-to-lisp::integer4 (*))
151 (array fortran-to-lisp::integer4 (*))
152 (array double-float (*)) (array double-float (*))
153 (array double-float (*)) (array double-float (*)))
154 :return-values '(nil nil nil nil nil nil nil nil nil nil nil nil nil
155 nil nil)
156 :calls 'nil)))