5 * Revision 1.1.1.1 1996/04/01 15:01:51 mclareni
10 #if defined(CERNLIB_DOUBLE)
11 SUBROUTINE DSRTNT(K,N,A,B,C,U1,V1,RES,LRL)
13 #if !defined(CERNLIB_DOUBLE)
14 SUBROUTINE RSRTNT(K,N,A,B,C,U1,V1,RES,LRL)
16 #include "gen/imp64.inc"
20 #if defined(CERNLIB_DOUBLE)
21 PARAMETER (NAME = 'DSRTNT')
23 #if !defined(CERNLIB_DOUBLE)
24 PARAMETER (NAME = 'RSRTNT')
26 PARAMETER (R1 = 1, HF = R1/2)
28 DIMENSION BK(0:4,0:4),SGN(0:4)
30 DATA BK(0,0) /1/, (BK(1,J),J=0,1) /1,1/, (BK(2,J),J=0,2) /1,2,1/
31 DATA (BK(3,J),J=0,3) /1,3,3,1/, (BK(4,J),J=0,4) /1,4,6,4,1/
32 DATA (SGN(J),J=0,4) /1,-1,1,-1,1/
38 LLL=ABS(A)+ABS(B)+ABS(C) .GT. 0
40 CALL MTLPRT(NAME,'B300.1','A = B = C = 0')
43 LLL=ABS(K) .LE. 3 .AND. (N .EQ. 1 .OR. N .EQ. 3)
46 CALL MTLPRT(NAME,'B300.2',ERRTXT)
55 LLL=K .GE. 0 .OR. K .EQ. -1 .AND. U*V .NE. 0
56 1 .OR. K .LE. -2 .AND. U*V .GT. 0
64 LLL=U .LE. X0 .AND. V .LE. X0
69 LLL=U .GE. X0 .AND. V .GE. X0
74 ELSEIF(DELTA .EQ. 0) THEN
79 LLL=U .LT. X0 .AND. V .LT. X0 .OR. U .GT. X0 .AND. V .GT. X0
87 LLL=W1 .LE. U .AND. U .LE. W2 .AND. W1 .LE. V .AND. V .LE. W2
89 LLL=U .LE. W1 .AND. V .LE. W1 .OR. U .GE. W2 .AND. V .GE. W2
99 H=(V**K1-U**K1)/(K1*SQRT(A)**N)
106 H=2*(SQRT(XV)**K1-SQRT(XU)**K1)/(K1*B**(K+1))
114 1 S=S+BK(K,J)*(H1**J*HV-H2**J*HU)/(2*J+N1)
124 ELSEIF(K .EQ. 1) THEN
125 H=(RT(V)-RT(U)-HF*B*H)/C
126 ELSEIF(K .EQ. 2) THEN
129 H=((H1*V-H2)*RT(V)-(H1*U-H2)*RT(U)+(2*B**2-DELTA)*H)/(8*C**2)
130 ELSEIF(K .EQ. 3) THEN
136 H=(((H1*V-H2)*V+H3)*RT(V)-((H1*U-H2)*U+H3)*RT(U)-
137 1 (HF*G1-18*G2)*B*H)/(24*C**3)
140 IF(DELTA .EQ. 0) THEN
143 H=LOG(ABS(V/U))/SQRT(C)**3
146 H=(V**K1-U**K1)/(K1*SQRT(C)**3)
160 S=S+BK(K,J)*(H1**J*HV-H2**J*HU)/(J-2)
162 S=S+BK(K,2)*LOG(ABS(XV/XU))/X0**2
165 H=(-X0)**K*S/SQRT(C)**3
171 H=2*((H1*V+B)/RT(V)-(H1*U+B)/RT(U))/DELTA
172 ELSEIF(K .EQ. 1) THEN
174 H=2*((H1+B*U)/RT(U)-(H1+B*V)/RT(V))/DELTA
176 ELSEIF(K .EQ. 2) THEN
181 H=(((H1*U-H2)/RT(U)-(H1*V-H2)/RT(V))/DELTA+H)/C
182 ELSEIF(K .EQ. 3) THEN
190 H=(2*(((H1*V+H2)*V+H3)/RT(V)-((H1*U+H2)*U+H3)/RT(U))/
191 1 DELTA-3*B*H)/(2*C**2)
200 H=SIGN(R1,U)*(V**K1-U**K1)/(K1*SQRT(C)**N)
204 H=2*(SQRT(B*V)**K1-SQRT(B*U)**K1)/(K1*B**(K+1))
213 4 S=S+SGN(J)*BK(K1,J)*(XU**KJ-XV**KJ)/(KJ*C**J)
215 IF(U .LT. 0 .AND. V .LT. 0) H=-H
222 21 IF(K .EQ. -1) THEN
224 ELSEIF(K .EQ. -2) THEN
225 H=(RT(U)/U-RT(V)/V-HF*B*H)/A
226 ELSEIF(K .EQ. -3) THEN
229 H=((H1*V-H2)*RT(V)/V**2-(H1*U-H2)*RT(U)/U**2+
230 1 (3*B**2-H2*C)*H)/(8*A**2)
233 IF(DELTA .EQ. 0) THEN
236 H=LOG(ABS(V/U))/SQRT(A)**3
239 H=(V**K1-U**K1)/(K1*SQRT(A)**3)
251 S=S+SGN(J)*BK(K1,J)*(XV**KJ-XU**KJ)/KJ
253 S=S+SGN(K2)*BK(K1,K2)*LOG(ABS(XV/XU))
256 H=-S/(SQRT(C)**3*X0**(K1+1))
262 22 IF(K .EQ. -1) THEN
265 H=(2*((H1*U+H2)/RT(U)-(H1*V+H2)/RT(V))/DELTA+H)/A
266 ELSEIF(K .EQ. -2) THEN
272 H=(((H1*V+H2-H3/V)/RT(V)-(H1*U+H2-H3/U)/RT(U))/DELTA
274 ELSEIF(K .EQ. -3) THEN
281 H3=(G4-62*G2)*G3+24*G2**2
283 H=((((H2-H1/V)/V-H3-H4*V)/RT(V)-((H2-H1/U)/U-H3-H4*U)/RT(U))
284 1 /DELTA+HF*(G4-12*G2)*H)/(4*A**3)
293 IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. C .GT. 0) THEN
294 H=LOG(ABS((2*SQRT(C*P(V))+C2*V+B)/
295 1 (2*SQRT(C*P(U))+C2*U+B)))/SQRT(C)
296 ELSEIF(DELTA .EQ. 0) THEN
297 H=ABS(LOG(ABS((C2*V+B)/(C2*U+B))))/SQRT(C)
299 H=(ASIN((C2*U+B)/RTD)-ASIN((C2*V+B)/RTD))/SQRT(-C)
301 GO TO JMP1, (11,12,13)
305 H=LOG(ABS(V/U))/SQRT(A)
308 H=2*(ATAN(SQRT(-(A+B*V)/A))-ATAN(SQRT(-(A+B*U)/A)))/SQRT(-A)
313 H=LOG(ABS((WV-WA)*(WU+WA)/((WV+WA)*(WU-WA))))/WA
318 IF(DELTA .GT. 0 .OR. DELTA .LT. 0 .AND. A .GT. 0) THEN
319 H=LOG(ABS((-2*SQRT(A*P(V))+B*V+A2)*U/
320 1 ((-2*SQRT(A*P(U))+B*U+A2)*V)))/SQRT(A)
321 ELSEIF(DELTA .EQ. 0) THEN
322 H=LOG(ABS((B*U+A2)*V/((B*V+A2)*U)))/SQRT(A)
323 IF(U*V .GT. 0) H=SIGN(H,U)
325 H=(ASIN((B*V+A2)/(V*RTD))-ASIN((B*U+A2)/(U*RTD)))/SQRT(-A)
326 IF(U .LT. 0 .AND. V .LT. 0) H=-H
331 9 RES=SIGN(R1,V1-U1)*H
334 102 FORMAT('ILLEGAL VALUE(S) K = ',I5,', N = ',I5)