1 ;;; Compiled by f2cl version:
2 ;;; ("f2cl1.l,v 1.221 2010/05/26 19:25:52 rtoy Exp $"
3 ;;; "f2cl2.l,v 1.37 2008/02/22 22:19:33 rtoy Exp $"
4 ;;; "f2cl3.l,v 1.6 2008/02/22 22:19:33 rtoy Exp $"
5 ;;; "f2cl4.l,v 1.7 2008/02/22 22:19:34 rtoy Exp $"
6 ;;; "f2cl5.l,v 1.204 2010/02/23 05:21:30 rtoy Exp $"
7 ;;; "f2cl6.l,v 1.48 2008/08/24 00:56:27 rtoy Exp $"
8 ;;; "macros.l,v 1.114 2010/05/17 01:42:14 rtoy Exp $")
10 ;;; Using Lisp CMU Common Lisp CVS Head 2010-05-25 18:21:07 (20A 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 double-float))
22 :element-type
'double-float
23 :initial-contents
'(0.25
0.0625 0.072169 0.018342 0.019065
24 0.05819 0.0054658 0.005337 0.01889
25 0.027792 0.0016095 0.0014964 0.0075938
26 0.0057573 0.018342 0.004673 4.15e-4
27 0.001919 0.001468 0.006371 0.00461
28 1.342e-4 1.138e-4 4.889e-4 4.177e-4
29 0.001374 0.001654 0.002863)))
32 :element-type
'double-float
33 :initial-contents
'(0.125
0.002604 0.008019 2.17e-5 7.453e-5
34 5.208e-4 9.689e-8 3.689e-7 3.1e-6
35 2.451e-5 2.691e-10 1.12e-9 1.076e-8
36 9.405e-8 1.033e-6 5.097e-13 2.29e-12
37 2.446e-11 2.331e-10 2.936e-9 3.593e-8
38 7.001e-16 3.363e-15 3.921e-14 4.028e-13
39 5.646e-12 7.531e-11 1.129e-9))))
40 (declare (type (array double-float
(28)) cnsts1 cnsts2
))
41 (defun consts (k rho coef
)
42 (declare (type (array double-float
(*)) coef
)
43 (type (array double-float
(*)) rho
)
44 (type (f2cl-lib:integer4
) k
))
47 :element-type
'f2cl-lib
:integer4
48 :displaced-to
(colord-part-0 *colord-common-block
*)
49 :displaced-index-offset
5))
52 :element-type
'double-float
53 :displaced-to
(colbas-part-0 *colbas-common-block
*)
54 :displaced-index-offset
0))
57 :element-type
'double-float
58 :displaced-to
(colbas-part-0 *colbas-common-block
*)
59 :displaced-index-offset
28))
62 :element-type
'double-float
63 :displaced-to
(colbas-part-0 *colbas-common-block
*)
64 :displaced-index-offset
224))
67 :element-type
'double-float
68 :displaced-to
(colest-part-0 *colest-common-block
*)
69 :displaced-index-offset
40))
72 :element-type
'double-float
73 :displaced-to
(colest-part-0 *colest-common-block
*)
74 :displaced-index-offset
80))
77 :element-type
'double-float
78 :displaced-to
(colest-part-0 *colest-common-block
*)
79 :displaced-index-offset
120))
82 :element-type
'double-float
83 :displaced-to
(colest-part-0 *colest-common-block
*)
84 :displaced-index-offset
160))
87 :element-type
'f2cl-lib
:integer4
88 :displaced-to
(colest-part-1 *colest-common-block
*)
89 :displaced-index-offset
0))
92 :element-type
'f2cl-lib
:integer4
93 :displaced-to
(colest-part-1 *colest-common-block
*)
94 :displaced-index-offset
40)))
95 (symbol-macrolet ((ncomp (aref (colord-part-0 *colord-common-block
*) 1))
96 (mmax (aref (colord-part-0 *colord-common-block
*) 4))
101 (wgtmsh colest-wgtmsh
)
102 (wgterr colest-wgterr
)
107 (ntol (aref (colest-part-1 *colest-common-block
*) 80)))
108 (f2cl-lib:with-multi-array-data
109 ((rho double-float rho-%data% rho-%offset%
)
110 (coef double-float coef-%data% coef-%offset%
))
111 (prog ((ltoli 0) (i 0) (mtot 0) (jcomp 0) (l 0) (mj 0) (j 0) (iz 0)
112 (koff 0) (dummy (make-array 1 :element-type
'double-float
)))
113 (declare (type (array double-float
(1)) dummy
)
114 (type (f2cl-lib:integer4
) koff iz j mj l jcomp mtot i
116 (setf koff
(the f2cl-lib
:integer4
(truncate (* k
(+ k
1)) 2)))
118 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
121 (setf mj
(f2cl-lib:fref m
(j) ((1 20))))
122 (f2cl-lib:fdo
(l 1 (f2cl-lib:int-add l
1))
125 (setf (f2cl-lib:fref wgterr
(iz) ((1 40)))
126 (f2cl-lib:fref cnsts1
128 (f2cl-lib:int-sub koff mj
)
131 (setf iz
(f2cl-lib:int-add iz
1))
135 (setf mtot
(f2cl-lib:fref m
(1) ((1 20))))
136 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
139 (setf ltoli
(f2cl-lib:fref ltol
(i) ((1 40))))
141 (if (<= ltoli mtot
) (go label30
))
142 (setf jcomp
(f2cl-lib:int-add jcomp
1))
144 (f2cl-lib:int-add mtot
145 (f2cl-lib:fref m
(jcomp) ((1 20)))))
148 (setf (f2cl-lib:fref jtol
(i) ((1 40))) jcomp
)
149 (setf (f2cl-lib:fref wgtmsh
(i) ((1 40)))
152 (f2cl-lib:fref cnsts2
154 (f2cl-lib:int-add koff ltoli
)
157 (f2cl-lib:fref tolin
(i) ((1 40)))))
158 (setf (f2cl-lib:fref root
(i) ((1 40)))
162 (f2cl-lib:int-sub
(f2cl-lib:int-add k mtot
) ltoli
)
165 (f2cl-lib:computed-goto
166 (label50 label60 label70 label80 label90 label100 label110
)
169 (setf (f2cl-lib:fref rho-%data%
(1) ((1 7)) rho-%offset%
) 0.0)
172 (setf (f2cl-lib:fref rho-%data%
(2) ((1 7)) rho-%offset%
)
174 (setf (f2cl-lib:fref rho-%data%
(1) ((1 7)) rho-%offset%
)
175 (- (f2cl-lib:fref rho-%data%
(2) ((1 7)) rho-%offset%
)))
178 (setf (f2cl-lib:fref rho-%data%
(3) ((1 7)) rho-%offset%
)
180 (setf (f2cl-lib:fref rho-%data%
(2) ((1 7)) rho-%offset%
) 0.0)
181 (setf (f2cl-lib:fref rho-%data%
(1) ((1 7)) rho-%offset%
)
182 (- (f2cl-lib:fref rho-%data%
(3) ((1 7)) rho-%offset%
)))
185 (setf (f2cl-lib:fref rho-%data%
(4) ((1 7)) rho-%offset%
)
187 (setf (f2cl-lib:fref rho-%data%
(3) ((1 7)) rho-%offset%
)
189 (setf (f2cl-lib:fref rho-%data%
(2) ((1 7)) rho-%offset%
)
190 (- (f2cl-lib:fref rho-%data%
(3) ((1 7)) rho-%offset%
)))
191 (setf (f2cl-lib:fref rho-%data%
(1) ((1 7)) rho-%offset%
)
192 (- (f2cl-lib:fref rho-%data%
(4) ((1 7)) rho-%offset%
)))
195 (setf (f2cl-lib:fref rho-%data%
(5) ((1 7)) rho-%offset%
)
197 (setf (f2cl-lib:fref rho-%data%
(4) ((1 7)) rho-%offset%
)
199 (setf (f2cl-lib:fref rho-%data%
(3) ((1 7)) rho-%offset%
) 0.0)
200 (setf (f2cl-lib:fref rho-%data%
(2) ((1 7)) rho-%offset%
)
201 (- (f2cl-lib:fref rho-%data%
(4) ((1 7)) rho-%offset%
)))
202 (setf (f2cl-lib:fref rho-%data%
(1) ((1 7)) rho-%offset%
)
203 (- (f2cl-lib:fref rho-%data%
(5) ((1 7)) rho-%offset%
)))
206 (setf (f2cl-lib:fref rho-%data%
(6) ((1 7)) rho-%offset%
)
208 (setf (f2cl-lib:fref rho-%data%
(5) ((1 7)) rho-%offset%
)
210 (setf (f2cl-lib:fref rho-%data%
(4) ((1 7)) rho-%offset%
)
212 (setf (f2cl-lib:fref rho-%data%
(3) ((1 7)) rho-%offset%
)
213 (- (f2cl-lib:fref rho-%data%
(4) ((1 7)) rho-%offset%
)))
214 (setf (f2cl-lib:fref rho-%data%
(2) ((1 7)) rho-%offset%
)
215 (- (f2cl-lib:fref rho-%data%
(5) ((1 7)) rho-%offset%
)))
216 (setf (f2cl-lib:fref rho-%data%
(1) ((1 7)) rho-%offset%
)
217 (- (f2cl-lib:fref rho-%data%
(6) ((1 7)) rho-%offset%
)))
220 (setf (f2cl-lib:fref rho-%data%
(7) ((1 7)) rho-%offset%
)
222 (setf (f2cl-lib:fref rho-%data%
(6) ((1 7)) rho-%offset%
)
224 (setf (f2cl-lib:fref rho-%data%
(5) ((1 7)) rho-%offset%
)
226 (setf (f2cl-lib:fref rho-%data%
(4) ((1 7)) rho-%offset%
) 0.0)
227 (setf (f2cl-lib:fref rho-%data%
(3) ((1 7)) rho-%offset%
)
228 (- (f2cl-lib:fref rho-%data%
(5) ((1 7)) rho-%offset%
)))
229 (setf (f2cl-lib:fref rho-%data%
(2) ((1 7)) rho-%offset%
)
230 (- (f2cl-lib:fref rho-%data%
(6) ((1 7)) rho-%offset%
)))
231 (setf (f2cl-lib:fref rho-%data%
(1) ((1 7)) rho-%offset%
)
232 (- (f2cl-lib:fref rho-%data%
(7) ((1 7)) rho-%offset%
)))
234 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
237 (setf (f2cl-lib:fref rho-%data%
(j) ((1 7)) rho-%offset%
)
240 (f2cl-lib:fref rho-%data%
245 (f2cl-lib:fdo
(j 1 (f2cl-lib:int-add j
1))
248 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
252 (setf (f2cl-lib:fref coef-%data%
257 (setf (f2cl-lib:fref coef-%data%
263 (f2cl-lib:array-slice coef double-float
(1 j
) ((1 k
) (1 1)))
266 (rkbas 1.0 coef k mmax b dummy
0)
267 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
270 (rkbas (f2cl-lib:fref rho-%data%
(i) ((1 7)) rho-%offset%
) coef
272 (f2cl-lib:array-slice acol double-float
(1 i
) ((1 28) (1 7)))
275 (rkbas (/ 1.0 6.0) coef k mmax
276 (f2cl-lib:array-slice asave double-float
(1 1) ((1 28) (1 4)))
278 (rkbas (/ 1.0 3.0) coef k mmax
279 (f2cl-lib:array-slice asave double-float
(1 2) ((1 28) (1 4)))
281 (rkbas (/ 2.0 3.0) coef k mmax
282 (f2cl-lib:array-slice asave double-float
(1 3) ((1 28) (1 4)))
284 (rkbas (/ 5.0 6.0) coef k mmax
285 (f2cl-lib:array-slice asave double-float
(1 4) ((1 28) (1 4)))
289 (return (values nil nil nil
))))))))
291 (in-package #-gcl
#:cl-user
#+gcl
"CL-USER")
292 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
293 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
294 (setf (gethash 'fortran-to-lisp
::consts
295 fortran-to-lisp
::*f2cl-function-info
*)
296 (fortran-to-lisp::make-f2cl-finfo
297 :arg-types
'((fortran-to-lisp::integer4
) (array double-float
(7))
298 (array double-float
(*)))
299 :return-values
'(nil nil nil
)
300 :calls
'(fortran-to-lisp::rkbas fortran-to-lisp
::vmonde
))))