1 ;;; Compiled by f2cl version:
2 ;;; ("f2cl1.l,v 46c1f6a93b0d 2012/05/03 04:40:28 toy $"
3 ;;; "f2cl2.l,v 96616d88fb7e 2008/02/22 22:19:34 rtoy $"
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 46c1f6a93b0d 2012/05/03 04:40:28 toy $"
7 ;;; "f2cl6.l,v 1d5cbacbb977 2008/08/24 00:56:27 rtoy $"
8 ;;; "macros.l,v fceac530ef0c 2011/11/26 04:02:26 toy $")
10 ;;; Using Lisp CMU Common Lisp snapshot-2012-04 (20C Unicode)
12 ;;; Options: ((:prune-labels nil) (:auto-save t) (:relaxed-array-decls t)
13 ;;; (:coerce-assigns :as-needed) (:array-type ':simple-array)
14 ;;; (:array-slicing nil) (:declare-common nil)
15 ;;; (:float-format double-float))
28 (fpi12 1.30899693899575)
29 (con2 5.03154716196777)
30 (con3 0.380004589867293)
31 (con4 0.833333333333333)
32 (con5 0.866025403784439)
35 :element-type
'double-float
36 :initial-contents
'(0.220423090987793 -
0.1252902427877
37 0.0103881163359194 8.22844152006343e-4
38 -
2.34614345891226e-4 1.63824280172116e-5
39 3.06902589573189e-7 -
1.29621999359332e-7
40 8.22908158823668e-9 1.53963968623298e-11
44 -
5.1616949778508e-15)))
47 :element-type
'double-float
48 :initial-contents
'(0.274366150869598
0.00539790969736903
49 -
0.0015733922062119 4.2742752824875e-4
50 -
1.12124917399925e-4 2.88763171318904e-5
51 -
7.36804225370554e-6 1.87290209741024e-6
52 -
4.75892793962291e-7 1.21130416955909e-7
53 -
3.09245374270614e-8 7.92454705282654e-9
64 -
3.19077040865066e-15)))
67 :element-type
'double-float
68 :initial-contents
'(0.280271447340791 -
0.00178127042844379
69 4.03422579628999e-5 -
1.63249965269003e-6
70 9.21181482476768e-8 -
6.52294330229155e-9
78 -
2.46480324312426e-16)))
81 :element-type
'double-float
82 :initial-contents
'(0.0778952966437581 -
0.184356363456801
83 0.0301412605216174 0.0305342724277608
85 -
0.00172749552563952 2.4313763783919e-4
86 5.04564777517082e-5 -
6.16316582695208e-6
87 -
9.03986745510768e-7 9.70243778355884e-8
88 1.09639453305205e-8 -
1.04716330588766e-9
94 2.35798252031104e-16)))
97 :element-type
'double-float
98 :initial-contents
'(0.0380497887617242 -
0.245319541845546
99 0.165820623702696 0.0749330045818789
100 -
0.0263476288106641 -
0.00592535597304981
101 0.00144744409589804 2.18311831322215e-4
103 -
4.66874994171766e-6 7.1521880727716e-7
104 6.52964770854633e-8 -
8.44284027565946e-9
105 -
6.44186158976978e-10
108 -
4.66022632547045e-13
109 -
2.67762710389189e-14
110 2.36161316570019e-15)))
113 :element-type
'double-float
114 :initial-contents
'(0.490275424742791
0.00157647277946204
115 -
9.66195963140306e-5 1.35916080268815e-7
116 2.98157342654859e-7 -
1.86824767559979e-8
120 -
2.32357655300677e-12
122 -
1.20340828049719e-13
123 -
2.90907716770715e-15
125 -
9.99003874810259e-16)))
128 :element-type
'double-float
129 :initial-contents
'(0.278593552803079 -
0.00352915691882584
130 -
2.31149677384994e-5 4.7131784226356e-6
132 -
2.00100301184339e-8 2.60948075302193e-9
133 -
3.55098136101216e-11
134 -
3.50849978423875e-11
136 -
2.04644828753326e-13
137 -
1.10529179476742e-13
139 -
2.88205111009939e-15
140 -
3.32656311696166e-16)))
151 :element-type
'double-float
152 :initial-contents
'(0.204567842307887 -
0.0661322739905664
153 -
0.00849845800989287 0.00312183491556289
155 -
6.35636298679387e-6 3.02397712409509e-6
157 -
5.36194289332826e-10 1.1309803562231e-9
158 -
7.43023834629073e-11
161 -
1.39140135641182e-14)))
164 :element-type
'double-float
165 :initial-contents
'(0.29333234388323 -
0.00806196784743112
166 0.0024254017233314 -
6.82297548850235e-4
167 1.85786427751181e-4 -
4.97457447684059e-5
168 1.32090681239497e-5 -
3.49528240444943e-6
169 9.24362451078835e-7 -
2.44732671521867e-7
170 6.4930783764891e-8 -
1.72717621501538e-8
171 4.60725763604656e-9 -
1.2324905529155e-9
173 -
8.89252099772401e-11
177 -
4.76303829833637e-13
178 1.2949824110081e-13 -
3.5267962221043e-14
180 -
2.62786914342292e-15)))
183 :element-type
'double-float
184 :initial-contents
'(0.284675828811349
0.0025307307261908
185 -
4.83481130337976e-5 1.84907283946343e-6
186 -
1.01418491178576e-7 7.05925634457153e-9
187 -
5.85325291400382e-10
188 5.56357688831339e-11 -
5.908890947795e-12
190 -
8.68588256452194e-14
192 -
1.68523146510923e-15
193 2.55374773097056e-16)))
196 :element-type
'double-float
197 :initial-contents
'(0.0653219131311457 -
0.120262933688823
198 0.00978010236263823 0.0167948429230505
200 -
8.45560295098867e-4 9.42889620701976e-5
201 2.25827860945475e-5 -
2.29067870915987e-6
202 -
3.76343991136919e-7 3.45663933559565e-8
204 -
3.58673691214989e-10
205 -
3.57245881361895e-11
208 -
1.58763205238303e-14
209 -
1.12604374485125e-15
210 7.31327529515367e-17)))
213 :element-type
'double-float
214 :initial-contents
'(0.0108594539632967
0.0853313194857091
215 -
0.315277068113058 -
0.0878420725294257
216 0.0553251906976048 0.00941674060503241
218 -
4.11157343156826e-4 1.01297326891346e-4
219 9.87633682208396e-6 -
1.87312969812393e-6
220 -
1.50798500131468e-7 2.32687669525394e-8
222 -
2.07665922668385e-10
223 -
1.24103350500302e-11
224 1.39631765331043e-12 7.3940097115574e-14
225 -
7.328874756275e-15)))
228 :element-type
'double-float
229 :initial-contents
'(0.491627321104601
0.00311164930427489
230 8.23140762854081e-5 -
4.61769776172142e-6
231 -
6.13158880534626e-8 2.8729580465652e-8
233 -
1.44752826642035e-10
235 -
3.99655065847223e-12
236 -
3.24089119830323e-13
238 -
2.40765247974057e-14
240 8.17900786477396e-16)))
243 :element-type
'double-float
244 :initial-contents
'(-0.277571356944231
0.0044421283341992
245 -
8.42328522190089e-5 -
2.5804031841871e-6
246 3.42389720217621e-7 -
6.24286894709776e-9
249 -
4.40995691658191e-12
250 -
5.18674221093575e-12
253 -
1.77253430678112e-14
255 -
7.1179333757953e-16))))
256 (declare (type (f2cl-lib:integer4
) n1 n2 n3 n4 m1 m2 m3 m4 n1d n2d n3d n4d
258 (type (double-float) fpi12 con2 con3 con4 con5
)
259 (type (simple-array double-float
(14)) ak1 ak3 dak1 dak3
)
260 (type (simple-array double-float
(23)) ak2
)
261 (type (simple-array double-float
(19)) ajp ajn dajp dajn
)
262 (type (simple-array double-float
(15)) a b da db
)
263 (type (simple-array double-float
(24)) dak2
))
264 (defun djairy (x rx c ai dai
)
265 (declare (type (double-float) dai ai c rx x
))
266 (prog ((ccv 0.0) (cv 0.0) (ec 0.0) (e1 0.0) (e2 0.0) (f1 0.0) (f2 0.0)
267 (rtrx 0.0) (scv 0.0) (t$
0.0) (temp1 0.0) (temp2 0.0) (tt 0.0) (i 0)
269 (declare (type (f2cl-lib:integer4
) j i
)
270 (type (double-float) tt temp2 temp1 t$ scv rtrx f2 f1 e2 e1 ec
272 (if (< x
0.0) (go label90
))
273 (if (> c
5.0) (go label60
))
274 (if (> x
1.2) (go label30
))
275 (setf t$
(* (- (+ x x
) 1.2) con4
))
278 (setf f1
(f2cl-lib:fref ak1
(j) ((1 14))))
280 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
283 (setf j
(f2cl-lib:int-sub j
1))
285 (setf f1
(+ (- (* tt f1
) f2
) (f2cl-lib:fref ak1
(j) ((1 14)))))
288 (setf ai
(+ (- (* t$ f1
) f2
) (f2cl-lib:fref ak1
(1) ((1 14)))))
290 (setf f1
(f2cl-lib:fref dak1
(j) ((1 14))))
292 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
295 (setf j
(f2cl-lib:int-sub j
1))
297 (setf f1
(+ (- (* tt f1
) f2
) (f2cl-lib:fref dak1
(j) ((1 14)))))
300 (setf dai
(- (+ (- (* t$ f1
) f2
) (f2cl-lib:fref dak1
(1) ((1 14))))))
303 (setf t$
(* (- (+ x x
) con2
) con3
))
306 (setf f1
(f2cl-lib:fref ak2
(j) ((1 23))))
308 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
311 (setf j
(f2cl-lib:int-sub j
1))
313 (setf f1
(+ (- (* tt f1
) f2
) (f2cl-lib:fref ak2
(j) ((1 23)))))
316 (setf rtrx
(f2cl-lib:fsqrt rx
))
317 (setf ec
(exp (- c
)))
319 (/ (* ec
(+ (- (* t$ f1
) f2
) (f2cl-lib:fref ak2
(1) ((1 23)))))
322 (setf f1
(f2cl-lib:fref dak2
(j) ((1 24))))
324 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
327 (setf j
(f2cl-lib:int-sub j
1))
329 (setf f1
(+ (- (* tt f1
) f2
) (f2cl-lib:fref dak2
(j) ((1 24)))))
334 (+ (- (* t$ f1
) f2
) (f2cl-lib:fref dak2
(1) ((1 24))))
338 (setf t$
(- (/ 10.0 c
) 1.0))
341 (setf f1
(f2cl-lib:fref ak3
(j) ((1 14))))
343 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
346 (setf j
(f2cl-lib:int-sub j
1))
348 (setf f1
(+ (- (* tt f1
) f2
) (f2cl-lib:fref ak3
(j) ((1 14)))))
351 (setf rtrx
(f2cl-lib:fsqrt rx
))
352 (setf ec
(exp (- c
)))
354 (/ (* ec
(+ (- (* t$ f1
) f2
) (f2cl-lib:fref ak3
(1) ((1 14)))))
357 (setf f1
(f2cl-lib:fref dak3
(j) ((1 14))))
359 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
362 (setf j
(f2cl-lib:int-sub j
1))
364 (setf f1
(+ (- (* tt f1
) f2
) (f2cl-lib:fref dak3
(j) ((1 14)))))
370 (+ (- (* t$ f1
) f2
) (f2cl-lib:fref dak3
(1) ((1 14))))))
373 (if (> c
5.0) (go label120
))
374 (setf t$
(- (* 0.4 c
) 1.0))
377 (setf f1
(f2cl-lib:fref ajp
(j) ((1 19))))
378 (setf e1
(f2cl-lib:fref ajn
(j) ((1 19))))
381 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
384 (setf j
(f2cl-lib:int-sub j
1))
387 (setf f1
(+ (- (* tt f1
) f2
) (f2cl-lib:fref ajp
(j) ((1 19)))))
388 (setf e1
(+ (- (* tt e1
) e2
) (f2cl-lib:fref ajn
(j) ((1 19)))))
393 (- (+ (- (* t$ e1
) e2
) (f2cl-lib:fref ajn
(1) ((1 19))))
394 (* x
(+ (- (* t$ f1
) f2
) (f2cl-lib:fref ajp
(1) ((1 19)))))))
396 (setf f1
(f2cl-lib:fref dajp
(j) ((1 19))))
397 (setf e1
(f2cl-lib:fref dajn
(j) ((1 19))))
400 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
403 (setf j
(f2cl-lib:int-sub j
1))
406 (setf f1
(+ (- (* tt f1
) f2
) (f2cl-lib:fref dajp
(j) ((1 19)))))
407 (setf e1
(+ (- (* tt e1
) e2
) (f2cl-lib:fref dajn
(j) ((1 19)))))
412 (+ (* x x
(+ (- (* t$ f1
) f2
) (f2cl-lib:fref dajp
(1) ((1 19)))))
413 (+ (- (* t$ e1
) e2
) (f2cl-lib:fref dajn
(1) ((1 19))))))
416 (setf t$
(- (/ 10.0 c
) 1.0))
419 (setf f1
(f2cl-lib:fref a
(j) ((1 15))))
420 (setf e1
(f2cl-lib:fref b
(j) ((1 15))))
423 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
426 (setf j
(f2cl-lib:int-sub j
1))
429 (setf f1
(+ (- (* tt f1
) f2
) (f2cl-lib:fref a
(j) ((1 15)))))
430 (setf e1
(+ (- (* tt e1
) e2
) (f2cl-lib:fref b
(j) ((1 15)))))
434 (setf temp1
(+ (- (* t$ f1
) f2
) (f2cl-lib:fref a
(1) ((1 15)))))
435 (setf temp2
(+ (- (* t$ e1
) e2
) (f2cl-lib:fref b
(1) ((1 15)))))
436 (setf rtrx
(f2cl-lib:fsqrt rx
))
437 (setf cv
(- c fpi12
))
440 (setf ai
(/ (- (* temp1 ccv
) (* temp2 scv
)) rtrx
))
442 (setf f1
(f2cl-lib:fref da
(j) ((1 15))))
443 (setf e1
(f2cl-lib:fref db
(j) ((1 15))))
446 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
449 (setf j
(f2cl-lib:int-sub j
1))
452 (setf f1
(+ (- (* tt f1
) f2
) (f2cl-lib:fref da
(j) ((1 15)))))
453 (setf e1
(+ (- (* tt e1
) e2
) (f2cl-lib:fref db
(j) ((1 15)))))
457 (setf temp1
(+ (- (* t$ f1
) f2
) (f2cl-lib:fref da
(1) ((1 15)))))
458 (setf temp2
(+ (- (* t$ e1
) e2
) (f2cl-lib:fref db
(1) ((1 15)))))
459 (setf e1
(+ (* ccv con5
) (* 0.5 scv
)))
460 (setf e2
(- (* scv con5
) (* 0.5 ccv
)))
461 (setf dai
(* (- (* temp1 e1
) (* temp2 e2
)) rtrx
))
464 (return (values nil nil nil ai dai
)))))
466 (in-package #:cl-user
)
467 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
468 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
469 (setf (gethash 'fortran-to-lisp
::djairy
470 fortran-to-lisp
::*f2cl-function-info
*)
471 (fortran-to-lisp::make-f2cl-finfo
472 :arg-types
'((double-float) (double-float) (double-float)
473 (double-float) (double-float))
474 :return-values
'(nil nil nil fortran-to-lisp
::ai
475 fortran-to-lisp
::dai
)