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))
24 (cr1i 1.7320508075688772)
26 (cr2i -
0.8660254037844386)
27 (hpi 1.5707963267948966)
28 (pi$
3.141592653589793)
29 (aic 1.2655121234846454)
32 :element-type
'double-float
33 :initial-contents
'(1.0
0.0 -
1.0 0.0)))
36 :element-type
'double-float
37 :initial-contents
'(0.0 -
1.0 0.0 1.0))))
38 (declare (type (double-float) zeror zeroi coner cr1r cr1i cr2r cr2i hpi pi$
40 (type (simple-array double-float
(4)) cipr cipi
))
41 (defun zunk2 (zr zi fnu kode mr n yr yi nz tol elim alim
)
42 (declare (type (simple-array double-float
(*)) yi yr
)
43 (type (f2cl-lib:integer4
) nz n mr kode
)
44 (type (double-float) alim elim tol fnu zi zr
))
45 (prog ((bry (make-array 3 :element-type
'double-float
))
46 (asumr (make-array 2 :element-type
'double-float
))
47 (asumi (make-array 2 :element-type
'double-float
))
48 (bsumr (make-array 2 :element-type
'double-float
))
49 (bsumi (make-array 2 :element-type
'double-float
))
50 (phir (make-array 2 :element-type
'double-float
))
51 (phii (make-array 2 :element-type
'double-float
))
52 (argr (make-array 2 :element-type
'double-float
))
53 (argi (make-array 2 :element-type
'double-float
))
54 (zeta1r (make-array 2 :element-type
'double-float
))
55 (zeta1i (make-array 2 :element-type
'double-float
))
56 (zeta2r (make-array 2 :element-type
'double-float
))
57 (zeta2i (make-array 2 :element-type
'double-float
))
58 (cyr (make-array 2 :element-type
'double-float
))
59 (cyi (make-array 2 :element-type
'double-float
))
60 (cssr (make-array 3 :element-type
'double-float
))
61 (csrr (make-array 3 :element-type
'double-float
)) (i 0) (ib 0)
62 (iflag 0) (ifn 0) (il 0) (in 0) (inu 0) (iuf 0) (k 0) (kdflg 0)
63 (kflag 0) (kk 0) (nai 0) (ndai 0) (nw 0) (idum 0) (j 0) (ipard 0)
64 (ic 0) (aarg 0.0) (aii 0.0) (air 0.0) (ang 0.0) (aphi 0.0)
65 (argdi 0.0) (argdr 0.0) (asc 0.0) (ascle 0.0) (asumdi 0.0)
66 (asumdr 0.0) (bsumdi 0.0) (bsumdr 0.0) (car$
0.0) (cki 0.0)
67 (ckr 0.0) (crsc 0.0) (cscl 0.0) (csgni 0.0) (csi 0.0) (cspni 0.0)
68 (cspnr 0.0) (csr 0.0) (c1i 0.0) (c1r 0.0) (c2i 0.0) (c2m 0.0)
69 (c2r 0.0) (daii 0.0) (dair 0.0) (fmr 0.0) (fn 0.0) (fnf 0.0)
70 (phidi 0.0) (phidr 0.0) (pti 0.0) (ptr 0.0) (rast 0.0) (razr 0.0)
71 (rs1 0.0) (rzi 0.0) (rzr 0.0) (sar 0.0) (sgn 0.0) (sti 0.0)
72 (str 0.0) (s1i 0.0) (s1r 0.0) (s2i 0.0) (s2r 0.0) (yy 0.0) (zbi 0.0)
73 (zbr 0.0) (zet1di 0.0) (zet1dr 0.0) (zet2di 0.0) (zet2dr 0.0)
74 (zni 0.0) (znr 0.0) (zri 0.0) (zrr 0.0))
75 (declare (type (simple-array double-float
(3)) cssr csrr bry
)
76 (type (simple-array double-float
(2)) zeta2r zeta2i zeta1r
77 zeta1i phir phii cyr cyi
78 bsumr bsumi asumr asumi
80 (type (double-float) zrr zri znr zni zet2dr zet2di zet1dr zet1di
81 zbr zbi yy s2r s2i s1r s1i str sti sgn sar
82 rzr rzi rs1 razr rast ptr pti phidr phidi
83 fnf fn fmr dair daii c2r c2m c2i c1r c1i
84 csr cspnr cspni csi csgni cscl crsc ckr cki
85 car$ bsumdr bsumdi asumdr asumdi ascle asc
86 argdr argdi aphi ang air aii aarg
)
87 (type (f2cl-lib:integer4
) ic ipard j idum nw ndai nai kk kflag
88 kdflg k iuf inu in il ifn iflag ib i
))
91 (setf cscl
(/ 1.0 tol
))
93 (setf (f2cl-lib:fref cssr
(1) ((1 3))) cscl
)
94 (setf (f2cl-lib:fref cssr
(2) ((1 3))) coner
)
95 (setf (f2cl-lib:fref cssr
(3) ((1 3))) crsc
)
96 (setf (f2cl-lib:fref csrr
(1) ((1 3))) crsc
)
97 (setf (f2cl-lib:fref csrr
(2) ((1 3))) coner
)
98 (setf (f2cl-lib:fref csrr
(3) ((1 3))) cscl
)
99 (setf (f2cl-lib:fref bry
(1) ((1 3)))
100 (/ (* 1000.0 (f2cl-lib:d1mach
1)) tol
))
101 (setf (f2cl-lib:fref bry
(2) ((1 3)))
102 (/ 1.0 (f2cl-lib:fref bry
(1) ((1 3)))))
103 (setf (f2cl-lib:fref bry
(3) ((1 3))) (f2cl-lib:d1mach
2))
106 (if (>= zr
0.0) (go label10
))
115 (setf inu
(f2cl-lib:int fnu
))
116 (setf fnf
(- fnu inu
))
117 (setf ang
(* (- hpi
) fnf
))
118 (setf car$
(cos ang
))
120 (setf c2r
(* hpi sar
))
121 (setf c2i
(* (- hpi
) car$
))
122 (setf kk
(f2cl-lib:int-add
(mod inu
4) 1))
124 (- (* c2r
(f2cl-lib:fref cipr
(kk) ((1 4))))
125 (* c2i
(f2cl-lib:fref cipi
(kk) ((1 4))))))
127 (+ (* c2r
(f2cl-lib:fref cipi
(kk) ((1 4))))
128 (* c2i
(f2cl-lib:fref cipr
(kk) ((1 4))))))
129 (setf csr
(- (* cr1r str
) (* cr1i sti
)))
130 (setf csi
(+ (* cr1r sti
) (* cr1i str
)))
131 (if (> yy
0.0) (go label20
))
136 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
139 (setf j
(f2cl-lib:int-sub
3 j
))
140 (setf fn
(+ fnu
(f2cl-lib:int-sub i
1)))
142 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
143 var-10 var-11 var-12 var-13 var-14 var-15 var-16
)
144 (zunhj znr zni fn
0 tol
(f2cl-lib:fref phir
(j) ((1 2)))
145 (f2cl-lib:fref phii
(j) ((1 2)))
146 (f2cl-lib:fref argr
(j) ((1 2)))
147 (f2cl-lib:fref argi
(j) ((1 2)))
148 (f2cl-lib:fref zeta1r
(j) ((1 2)))
149 (f2cl-lib:fref zeta1i
(j) ((1 2)))
150 (f2cl-lib:fref zeta2r
(j) ((1 2)))
151 (f2cl-lib:fref zeta2i
(j) ((1 2)))
152 (f2cl-lib:fref asumr
(j) ((1 2)))
153 (f2cl-lib:fref asumi
(j) ((1 2)))
154 (f2cl-lib:fref bsumr
(j) ((1 2)))
155 (f2cl-lib:fref bsumi
(j) ((1 2))))
156 (declare (ignore var-0 var-1 var-2 var-3 var-4
))
157 (setf (f2cl-lib:fref phir
(j) ((1 2))) var-5
)
158 (setf (f2cl-lib:fref phii
(j) ((1 2))) var-6
)
159 (setf (f2cl-lib:fref argr
(j) ((1 2))) var-7
)
160 (setf (f2cl-lib:fref argi
(j) ((1 2))) var-8
)
161 (setf (f2cl-lib:fref zeta1r
(j) ((1 2))) var-9
)
162 (setf (f2cl-lib:fref zeta1i
(j) ((1 2))) var-10
)
163 (setf (f2cl-lib:fref zeta2r
(j) ((1 2))) var-11
)
164 (setf (f2cl-lib:fref zeta2i
(j) ((1 2))) var-12
)
165 (setf (f2cl-lib:fref asumr
(j) ((1 2))) var-13
)
166 (setf (f2cl-lib:fref asumi
(j) ((1 2))) var-14
)
167 (setf (f2cl-lib:fref bsumr
(j) ((1 2))) var-15
)
168 (setf (f2cl-lib:fref bsumi
(j) ((1 2))) var-16
))
169 (if (= kode
1) (go label30
))
170 (setf str
(+ zbr
(f2cl-lib:fref zeta2r
(j) ((1 2)))))
171 (setf sti
(+ zbi
(f2cl-lib:fref zeta2i
(j) ((1 2)))))
172 (setf rast
(coerce (realpart (/ fn
(zabs str sti
))) 'double-float
))
173 (setf str
(* str rast rast
))
174 (setf sti
(* (- sti
) rast rast
))
175 (setf s1r
(- (f2cl-lib:fref zeta1r
(j) ((1 2))) str
))
176 (setf s1i
(- (f2cl-lib:fref zeta1i
(j) ((1 2))) sti
))
180 (- (f2cl-lib:fref zeta1r
(j) ((1 2)))
181 (f2cl-lib:fref zeta2r
(j) ((1 2)))))
183 (- (f2cl-lib:fref zeta1i
(j) ((1 2)))
184 (f2cl-lib:fref zeta2i
(j) ((1 2)))))
187 (if (> (abs rs1
) elim
) (go label70
))
188 (if (= kdflg
1) (setf kflag
2))
189 (if (< (abs rs1
) alim
) (go label50
))
193 (zabs (f2cl-lib:fref phir
(j) ((1 2)))
194 (f2cl-lib:fref phii
(j) ((1 2)))))
199 (zabs (f2cl-lib:fref argr
(j) ((1 2)))
200 (f2cl-lib:fref argi
(j) ((1 2)))))
203 (- (+ rs1
(f2cl-lib:flog aphi
))
204 (* 0.25 (f2cl-lib:flog aarg
))
206 (if (> (abs rs1
) elim
) (go label70
))
207 (if (= kdflg
1) (setf kflag
1))
208 (if (< rs1
0.0) (go label50
))
209 (if (= kdflg
1) (setf kflag
3))
212 (- (* (f2cl-lib:fref argr
(j) ((1 2))) cr2r
)
213 (* (f2cl-lib:fref argi
(j) ((1 2))) cr2i
)))
215 (+ (* (f2cl-lib:fref argr
(j) ((1 2))) cr2i
)
216 (* (f2cl-lib:fref argi
(j) ((1 2))) cr2r
)))
218 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
)
219 (zairy c2r c2i
0 2 air aii nai idum
)
220 (declare (ignore var-0 var-1 var-2 var-3
))
226 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
)
227 (zairy c2r c2i
1 2 dair daii ndai idum
)
228 (declare (ignore var-0 var-1 var-2 var-3
))
234 (- (* dair
(f2cl-lib:fref bsumr
(j) ((1 2))))
235 (* daii
(f2cl-lib:fref bsumi
(j) ((1 2))))))
237 (+ (* dair
(f2cl-lib:fref bsumi
(j) ((1 2))))
238 (* daii
(f2cl-lib:fref bsumr
(j) ((1 2))))))
239 (setf ptr
(- (* str cr2r
) (* sti cr2i
)))
240 (setf pti
(+ (* str cr2i
) (* sti cr2r
)))
243 (- (* air
(f2cl-lib:fref asumr
(j) ((1 2))))
244 (* aii
(f2cl-lib:fref asumi
(j) ((1 2)))))))
247 (+ (* air
(f2cl-lib:fref asumi
(j) ((1 2))))
248 (* aii
(f2cl-lib:fref asumr
(j) ((1 2)))))))
250 (- (* str
(f2cl-lib:fref phir
(j) ((1 2))))
251 (* sti
(f2cl-lib:fref phii
(j) ((1 2))))))
253 (+ (* str
(f2cl-lib:fref phii
(j) ((1 2))))
254 (* sti
(f2cl-lib:fref phir
(j) ((1 2))))))
255 (setf s2r
(- (* ptr csr
) (* pti csi
)))
256 (setf s2i
(+ (* ptr csi
) (* pti csr
)))
257 (setf str
(* (exp s1r
) (f2cl-lib:fref cssr
(kflag) ((1 3)))))
258 (setf s1r
(* str
(cos s1i
)))
259 (setf s1i
(* str
(sin s1i
)))
260 (setf str
(- (* s2r s1r
) (* s2i s1i
)))
261 (setf s2i
(+ (* s1r s2i
) (* s2r s1i
)))
263 (if (/= kflag
1) (go label60
))
264 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4
)
265 (zuchk s2r s2i nw
(f2cl-lib:fref bry
(1) ((1 3))) tol
)
266 (declare (ignore var-0 var-1 var-3 var-4
))
268 (if (/= nw
0) (go label70
))
270 (if (<= yy
0.0) (setf s2i
(- s2i
)))
271 (setf (f2cl-lib:fref cyr
(kdflg) ((1 2))) s2r
)
272 (setf (f2cl-lib:fref cyi
(kdflg) ((1 2))) s2i
)
273 (setf (f2cl-lib:fref yr
(i) ((1 n
)))
274 (* s2r
(f2cl-lib:fref csrr
(kflag) ((1 3)))))
275 (setf (f2cl-lib:fref yi
(i) ((1 n
)))
276 (* s2i
(f2cl-lib:fref csrr
(kflag) ((1 3)))))
280 (if (= kdflg
2) (go label85
))
284 (if (> rs1
0.0) (go label320
))
285 (if (< zr
0.0) (go label320
))
287 (setf (f2cl-lib:fref yr
(i) ((1 n
))) zeror
)
288 (setf (f2cl-lib:fref yi
(i) ((1 n
))) zeroi
)
289 (setf nz
(f2cl-lib:int-add nz
1))
293 (if (= i
1) (go label80
))
295 (and (= (f2cl-lib:fref yr
((f2cl-lib:int-sub i
1)) ((1 n
))) zeror
)
296 (= (f2cl-lib:fref yi
((f2cl-lib:int-sub i
1)) ((1 n
))) zeroi
))
298 (setf (f2cl-lib:fref yr
((f2cl-lib:int-sub i
1)) ((1 n
))) zeror
)
299 (setf (f2cl-lib:fref yi
((f2cl-lib:int-sub i
1)) ((1 n
))) zeroi
)
300 (setf nz
(f2cl-lib:int-add nz
1))
304 (setf razr
(coerce (realpart (/ 1.0 (zabs zrr zri
))) 'double-float
))
305 (setf str
(* zrr razr
))
306 (setf sti
(* (- zri
) razr
))
307 (setf rzr
(* (+ str str
) razr
))
308 (setf rzi
(* (+ sti sti
) razr
))
309 (setf ckr
(* fn rzr
))
310 (setf cki
(* fn rzi
))
311 (setf ib
(f2cl-lib:int-add i
1))
312 (if (< n ib
) (go label180
))
313 (setf fn
(+ fnu
(f2cl-lib:int-sub n
1)))
315 (if (/= mr
0) (setf ipard
0))
317 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9 var-10
318 var-11 var-12 var-13 var-14 var-15 var-16
)
319 (zunhj znr zni fn ipard tol phidr phidi argdr argdi zet1dr zet1di
320 zet2dr zet2di asumdr asumdi bsumdr bsumdi
)
321 (declare (ignore var-0 var-1 var-2 var-3 var-4
))
333 (setf bsumdi var-16
))
334 (if (= kode
1) (go label90
))
335 (setf str
(+ zbr zet2dr
))
336 (setf sti
(+ zbi zet2di
))
337 (setf rast
(coerce (realpart (/ fn
(zabs str sti
))) 'double-float
))
338 (setf str
(* str rast rast
))
339 (setf sti
(* (- sti
) rast rast
))
340 (setf s1r
(- zet1dr str
))
341 (setf s1i
(- zet1di sti
))
344 (setf s1r
(- zet1dr zet2dr
))
345 (setf s1i
(- zet1di zet2di
))
348 (if (> (abs rs1
) elim
) (go label105
))
349 (if (< (abs rs1
) alim
) (go label120
))
350 (setf aphi
(coerce (realpart (zabs phidr phidi
)) 'double-float
))
351 (setf rs1
(+ rs1
(f2cl-lib:flog aphi
)))
352 (if (< (abs rs1
) elim
) (go label120
))
354 (if (> rs1
0.0) (go label320
))
355 (if (< zr
0.0) (go label320
))
357 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
360 (setf (f2cl-lib:fref yr
(i) ((1 n
))) zeror
)
361 (setf (f2cl-lib:fref yi
(i) ((1 n
))) zeroi
)
365 (setf s1r
(f2cl-lib:fref cyr
(1) ((1 2))))
366 (setf s1i
(f2cl-lib:fref cyi
(1) ((1 2))))
367 (setf s2r
(f2cl-lib:fref cyr
(2) ((1 2))))
368 (setf s2i
(f2cl-lib:fref cyi
(2) ((1 2))))
369 (setf c1r
(f2cl-lib:fref csrr
(kflag) ((1 3))))
370 (setf ascle
(f2cl-lib:fref bry
(kflag) ((1 3))))
371 (f2cl-lib:fdo
(i ib
(f2cl-lib:int-add i
1))
376 (setf s2r
(+ (- (* ckr c2r
) (* cki c2i
)) s1r
))
377 (setf s2i
(+ (* ckr c2i
) (* cki c2r
) s1i
))
380 (setf ckr
(+ ckr rzr
))
381 (setf cki
(+ cki rzi
))
382 (setf c2r
(* s2r c1r
))
383 (setf c2i
(* s2i c1r
))
384 (setf (f2cl-lib:fref yr
(i) ((1 n
))) c2r
)
385 (setf (f2cl-lib:fref yi
(i) ((1 n
))) c2i
)
386 (if (>= kflag
3) (go label130
))
389 (setf c2m
(max str sti
))
390 (if (<= c2m ascle
) (go label130
))
391 (setf kflag
(f2cl-lib:int-add kflag
1))
392 (setf ascle
(f2cl-lib:fref bry
(kflag) ((1 3))))
393 (setf s1r
(* s1r c1r
))
394 (setf s1i
(* s1i c1r
))
397 (setf s1r
(* s1r
(f2cl-lib:fref cssr
(kflag) ((1 3)))))
398 (setf s1i
(* s1i
(f2cl-lib:fref cssr
(kflag) ((1 3)))))
399 (setf s2r
(* s2r
(f2cl-lib:fref cssr
(kflag) ((1 3)))))
400 (setf s2i
(* s2i
(f2cl-lib:fref cssr
(kflag) ((1 3)))))
401 (setf c1r
(f2cl-lib:fref csrr
(kflag) ((1 3))))
404 (if (= mr
0) (go end_label
))
406 (setf fmr
(coerce (the f2cl-lib
:integer4 mr
) 'double-float
))
407 (setf sgn
(coerce (- (f2cl-lib:dsign pi$ fmr
)) 'double-float
))
409 (if (<= yy
0.0) (setf csgni
(- csgni
)))
410 (setf ifn
(f2cl-lib:int-sub
(f2cl-lib:int-add inu n
) 1))
411 (setf ang
(* fnf sgn
))
412 (setf cspnr
(cos ang
))
413 (setf cspni
(sin ang
))
414 (if (= (mod ifn
2) 0) (go label190
))
415 (setf cspnr
(- cspnr
))
416 (setf cspni
(- cspni
))
418 (setf csr
(* sar csgni
))
419 (setf csi
(* car$ csgni
))
420 (setf in
(f2cl-lib:int-add
(mod ifn
4) 1))
421 (setf c2r
(f2cl-lib:fref cipr
(in) ((1 4))))
422 (setf c2i
(f2cl-lib:fref cipi
(in) ((1 4))))
423 (setf str
(+ (* csr c2r
) (* csi c2i
)))
424 (setf csi
(+ (* (- csr
) c2i
) (* csi c2r
)))
426 (setf asc
(f2cl-lib:fref bry
(1) ((1 3))))
430 (setf ib
(f2cl-lib:int-sub ib
1))
431 (setf ic
(f2cl-lib:int-sub ib
1))
432 (f2cl-lib:fdo
(k 1 (f2cl-lib:int-add k
1))
435 (setf fn
(+ fnu
(f2cl-lib:int-sub kk
1)))
436 (if (> n
2) (go label175
))
438 (setf phidr
(f2cl-lib:fref phir
(j) ((1 2))))
439 (setf phidi
(f2cl-lib:fref phii
(j) ((1 2))))
440 (setf argdr
(f2cl-lib:fref argr
(j) ((1 2))))
441 (setf argdi
(f2cl-lib:fref argi
(j) ((1 2))))
442 (setf zet1dr
(f2cl-lib:fref zeta1r
(j) ((1 2))))
443 (setf zet1di
(f2cl-lib:fref zeta1i
(j) ((1 2))))
444 (setf zet2dr
(f2cl-lib:fref zeta2r
(j) ((1 2))))
445 (setf zet2di
(f2cl-lib:fref zeta2i
(j) ((1 2))))
446 (setf asumdr
(f2cl-lib:fref asumr
(j) ((1 2))))
447 (setf asumdi
(f2cl-lib:fref asumi
(j) ((1 2))))
448 (setf bsumdr
(f2cl-lib:fref bsumr
(j) ((1 2))))
449 (setf bsumdi
(f2cl-lib:fref bsumi
(j) ((1 2))))
450 (setf j
(f2cl-lib:int-sub
3 j
))
453 (if (and (= kk n
) (< ib n
)) (go label210
))
454 (if (or (= kk ib
) (= kk ic
)) (go label172
))
456 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
457 var-10 var-11 var-12 var-13 var-14 var-15 var-16
)
458 (zunhj znr zni fn
0 tol phidr phidi argdr argdi zet1dr zet1di
459 zet2dr zet2di asumdr asumdi bsumdr bsumdi
)
460 (declare (ignore var-0 var-1 var-2 var-3 var-4
))
472 (setf bsumdi var-16
))
474 (if (= kode
1) (go label220
))
475 (setf str
(+ zbr zet2dr
))
476 (setf sti
(+ zbi zet2di
))
477 (setf rast
(coerce (realpart (/ fn
(zabs str sti
))) 'double-float
))
478 (setf str
(* str rast rast
))
479 (setf sti
(* (- sti
) rast rast
))
480 (setf s1r
(- str zet1dr
))
481 (setf s1i
(- sti zet1di
))
484 (setf s1r
(- zet2dr zet1dr
))
485 (setf s1i
(- zet2di zet1di
))
488 (if (> (abs rs1
) elim
) (go label280
))
489 (if (= kdflg
1) (setf iflag
2))
490 (if (< (abs rs1
) alim
) (go label240
))
491 (setf aphi
(coerce (realpart (zabs phidr phidi
)) 'double-float
))
492 (setf aarg
(coerce (realpart (zabs argdr argdi
)) 'double-float
))
494 (- (+ rs1
(f2cl-lib:flog aphi
))
495 (* 0.25 (f2cl-lib:flog aarg
))
497 (if (> (abs rs1
) elim
) (go label280
))
498 (if (= kdflg
1) (setf iflag
1))
499 (if (< rs1
0.0) (go label240
))
500 (if (= kdflg
1) (setf iflag
3))
503 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
)
504 (zairy argdr argdi
0 2 air aii nai idum
)
505 (declare (ignore var-0 var-1 var-2 var-3
))
511 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7
)
512 (zairy argdr argdi
1 2 dair daii ndai idum
)
513 (declare (ignore var-0 var-1 var-2 var-3
))
518 (setf str
(- (* dair bsumdr
) (* daii bsumdi
)))
519 (setf sti
(+ (* dair bsumdi
) (* daii bsumdr
)))
520 (setf str
(+ str
(- (* air asumdr
) (* aii asumdi
))))
521 (setf sti
(+ sti
(+ (* air asumdi
) (* aii asumdr
))))
522 (setf ptr
(- (* str phidr
) (* sti phidi
)))
523 (setf pti
(+ (* str phidi
) (* sti phidr
)))
524 (setf s2r
(- (* ptr csr
) (* pti csi
)))
525 (setf s2i
(+ (* ptr csi
) (* pti csr
)))
526 (setf str
(* (exp s1r
) (f2cl-lib:fref cssr
(iflag) ((1 3)))))
527 (setf s1r
(* str
(cos s1i
)))
528 (setf s1i
(* str
(sin s1i
)))
529 (setf str
(- (* s2r s1r
) (* s2i s1i
)))
530 (setf s2i
(+ (* s2r s1i
) (* s2i s1r
)))
532 (if (/= iflag
1) (go label250
))
533 (multiple-value-bind (var-0 var-1 var-2 var-3 var-4
)
534 (zuchk s2r s2i nw
(f2cl-lib:fref bry
(1) ((1 3))) tol
)
535 (declare (ignore var-0 var-1 var-3 var-4
))
537 (if (= nw
0) (go label250
))
541 (if (<= yy
0.0) (setf s2i
(- s2i
)))
542 (setf (f2cl-lib:fref cyr
(kdflg) ((1 2))) s2r
)
543 (setf (f2cl-lib:fref cyi
(kdflg) ((1 2))) s2i
)
546 (setf s2r
(* s2r
(f2cl-lib:fref csrr
(iflag) ((1 3)))))
547 (setf s2i
(* s2i
(f2cl-lib:fref csrr
(iflag) ((1 3)))))
548 (setf s1r
(f2cl-lib:fref yr
(kk) ((1 n
))))
549 (setf s1i
(f2cl-lib:fref yi
(kk) ((1 n
))))
550 (if (= kode
1) (go label270
))
552 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
)
553 (zs1s2 zrr zri s1r s1i s2r s2i nw asc alim iuf
)
554 (declare (ignore var-0 var-1 var-7 var-8
))
561 (setf nz
(f2cl-lib:int-add nz nw
))
563 (setf (f2cl-lib:fref yr
(kk) ((1 n
)))
564 (+ (- (* s1r cspnr
) (* s1i cspni
)) s2r
))
565 (setf (f2cl-lib:fref yi
(kk) ((1 n
)))
566 (+ (* s1r cspni
) (* s1i cspnr
) s2i
))
567 (setf kk
(f2cl-lib:int-sub kk
1))
568 (setf cspnr
(- cspnr
))
569 (setf cspni
(- cspni
))
573 (if (or (/= c2r
0.0) (/= c2i
0.0)) (go label255
))
577 (if (= kdflg
2) (go label295
))
581 (if (> rs1
0.0) (go label320
))
588 (setf il
(f2cl-lib:int-sub n k
))
589 (if (= il
0) (go end_label
))
590 (setf s1r
(f2cl-lib:fref cyr
(1) ((1 2))))
591 (setf s1i
(f2cl-lib:fref cyi
(1) ((1 2))))
592 (setf s2r
(f2cl-lib:fref cyr
(2) ((1 2))))
593 (setf s2i
(f2cl-lib:fref cyi
(2) ((1 2))))
594 (setf csr
(f2cl-lib:fref csrr
(iflag) ((1 3))))
595 (setf ascle
(f2cl-lib:fref bry
(iflag) ((1 3))))
597 (coerce (the f2cl-lib
:integer4
(f2cl-lib:int-add inu il
))
599 (f2cl-lib:fdo
(i 1 (f2cl-lib:int-add i
1))
604 (setf s2r
(+ s1r
(* (+ fn fnf
) (- (* rzr c2r
) (* rzi c2i
)))))
605 (setf s2i
(+ s1i
(* (+ fn fnf
) (+ (* rzr c2i
) (* rzi c2r
)))))
609 (setf c2r
(* s2r csr
))
610 (setf c2i
(* s2i csr
))
613 (setf c1r
(f2cl-lib:fref yr
(kk) ((1 n
))))
614 (setf c1i
(f2cl-lib:fref yi
(kk) ((1 n
))))
615 (if (= kode
1) (go label300
))
617 (var-0 var-1 var-2 var-3 var-4 var-5 var-6 var-7 var-8 var-9
)
618 (zs1s2 zrr zri c1r c1i c2r c2i nw asc alim iuf
)
619 (declare (ignore var-0 var-1 var-7 var-8
))
626 (setf nz
(f2cl-lib:int-add nz nw
))
628 (setf (f2cl-lib:fref yr
(kk) ((1 n
)))
629 (+ (- (* c1r cspnr
) (* c1i cspni
)) c2r
))
630 (setf (f2cl-lib:fref yi
(kk) ((1 n
)))
631 (+ (* c1r cspni
) (* c1i cspnr
) c2i
))
632 (setf kk
(f2cl-lib:int-sub kk
1))
633 (setf cspnr
(- cspnr
))
634 (setf cspni
(- cspni
))
635 (if (>= iflag
3) (go label310
))
638 (setf c2m
(max c2r c2i
))
639 (if (<= c2m ascle
) (go label310
))
640 (setf iflag
(f2cl-lib:int-add iflag
1))
641 (setf ascle
(f2cl-lib:fref bry
(iflag) ((1 3))))
642 (setf s1r
(* s1r csr
))
643 (setf s1i
(* s1i csr
))
646 (setf s1r
(* s1r
(f2cl-lib:fref cssr
(iflag) ((1 3)))))
647 (setf s1i
(* s1i
(f2cl-lib:fref cssr
(iflag) ((1 3)))))
648 (setf s2r
(* s2r
(f2cl-lib:fref cssr
(iflag) ((1 3)))))
649 (setf s2i
(* s2i
(f2cl-lib:fref cssr
(iflag) ((1 3)))))
650 (setf csr
(f2cl-lib:fref csrr
(iflag) ((1 3))))
657 (return (values nil nil nil nil nil nil nil nil nz nil nil nil
)))))
659 (in-package #:cl-user
)
660 #+#.
(cl:if
(cl:find-package
'#:f2cl
) '(and) '(or))
661 (eval-when (:load-toplevel
:compile-toplevel
:execute
)
662 (setf (gethash 'fortran-to-lisp
::zunk2 fortran-to-lisp
::*f2cl-function-info
*)
663 (fortran-to-lisp::make-f2cl-finfo
664 :arg-types
'((double-float) (double-float) (double-float)
665 (fortran-to-lisp::integer4
) (fortran-to-lisp::integer4
)
666 (fortran-to-lisp::integer4
)
667 (simple-array double-float
(*))
668 (simple-array double-float
(*))
669 (fortran-to-lisp::integer4
) (double-float)
670 (double-float) (double-float))
671 :return-values
'(nil nil nil nil nil nil nil nil fortran-to-lisp
::nz
673 :calls
'(fortran-to-lisp::zs1s2 fortran-to-lisp
::zuchk
674 fortran-to-lisp
::zairy fortran-to-lisp
::zabs
675 fortran-to-lisp
::zunhj fortran-to-lisp
::d1mach
))))