1 SUBROUTINE ZBINU
(ZR
, ZI
, FNU
, KODE
, N
, CYR
, CYI
, NZ
, RL
, FNUL
,
3 C***BEGIN PROLOGUE ZBINU
4 C***REFER TO ZBESH,ZBESI,ZBESJ,ZBESK,ZAIRY,ZBIRY
6 C ZBINU COMPUTES THE I FUNCTION IN THE RIGHT HALF Z PLANE
8 C***ROUTINES CALLED AZABS,ZASYI,ZBUNI,ZMLRI,ZSERI,ZUOIK,ZWRSK
10 DOUBLE PRECISION ALIM
, AZ
, CWI
, CWR
, CYI
, CYR
, DFNU
, ELIM
, FNU
,
11 * FNUL
, RL
, TOL
, ZEROI
, ZEROR
, ZI
, ZR
, AZABS
12 INTEGER I
, INW
, KODE
, N
, NLAST
, NN
, NUI
, NW
, NZ
13 DIMENSION CYR
(N
), CYI
(N
), CWR
(2), CWI
(2)
14 DATA ZEROR
,ZEROI
/ 0.0D0
, 0.0D0
/
19 DFNU
= FNU
+ DBLE
(FLOAT
(N
-1))
20 IF (AZ
.LE
.2.0D0
) GO TO 10
21 IF (AZ*AZ*0
.25D0
.GT
.DFNU
+1.0D0
) GO TO 20
23 C-----------------------------------------------------------------------
25 C-----------------------------------------------------------------------
26 CALL ZSERI
(ZR
, ZI
, FNU
, KODE
, NN
, CYR
, CYI
, NW
, TOL
, ELIM
, ALIM
)
31 IF (NW
.GE
.0) GO TO 120
32 DFNU
= FNU
+ DBLE
(FLOAT
(NN
-1))
34 IF (AZ
.LT
.RL
) GO TO 40
35 IF (DFNU
.LE
.1.0D0
) GO TO 30
36 IF (AZ
+AZ
.LT
.DFNU*DFNU
) GO TO 50
37 C-----------------------------------------------------------------------
38 C ASYMPTOTIC EXPANSION FOR LARGE Z
39 C-----------------------------------------------------------------------
41 CALL ZASYI
(ZR
, ZI
, FNU
, KODE
, NN
, CYR
, CYI
, NW
, RL
, TOL
, ELIM
,
43 IF (NW
.LT
.0) GO TO 130
46 IF (DFNU
.LE
.1.0D0
) GO TO 70
48 C-----------------------------------------------------------------------
49 C OVERFLOW AND UNDERFLOW TEST ON I SEQUENCE FOR MILLER ALGORITHM
50 C-----------------------------------------------------------------------
51 CALL ZUOIK
(ZR
, ZI
, FNU
, KODE
, 1, NN
, CYR
, CYI
, NW
, TOL
, ELIM
,
53 IF (NW
.LT
.0) GO TO 130
57 DFNU
= FNU
+DBLE
(FLOAT
(NN
-1))
58 IF (DFNU
.GT
.FNUL
) GO TO 110
59 IF (AZ
.GT
.FNUL
) GO TO 110
61 IF (AZ
.GT
.RL
) GO TO 80
63 C-----------------------------------------------------------------------
64 C MILLER ALGORITHM NORMALIZED BY THE SERIES
65 C-----------------------------------------------------------------------
66 CALL ZMLRI
(ZR
, ZI
, FNU
, KODE
, NN
, CYR
, CYI
, NW
, TOL
)
70 C-----------------------------------------------------------------------
71 C MILLER ALGORITHM NORMALIZED BY THE WRONSKIAN
72 C-----------------------------------------------------------------------
73 C-----------------------------------------------------------------------
74 C OVERFLOW TEST ON K FUNCTIONS USED IN WRONSKIAN
75 C-----------------------------------------------------------------------
76 CALL ZUOIK
(ZR
, ZI
, FNU
, KODE
, 2, 2, CWR
, CWI
, NW
, TOL
, ELIM
,
78 IF (NW
.GE
.0) GO TO 100
86 IF (NW
.GT
.0) GO TO 130
87 CALL ZWRSK
(ZR
, ZI
, FNU
, KODE
, NN
, CYR
, CYI
, NW
, CWR
, CWI
, TOL
,
89 IF (NW
.LT
.0) GO TO 130
92 C-----------------------------------------------------------------------
93 C INCREMENT FNU+NN-1 UP TO FNUL, COMPUTE AND RECUR BACKWARD
94 C-----------------------------------------------------------------------
95 NUI
= INT
(SNGL
(FNUL
-DFNU
)) + 1
97 CALL ZBUNI
(ZR
, ZI
, FNU
, KODE
, NN
, CYR
, CYI
, NW
, NUI
, NLAST
, FNUL
,
99 IF (NW
.LT
.0) GO TO 130
101 IF (NLAST
.EQ
.0) GO TO 120