5 * Revision 1.1.1.1 1996/04/01 15:02:11 mclareni
10 #if defined(CERNLIB_DOUBLE)
11 FUNCTION DELI3(X,AKP,P)
13 #include "gen/imp64.inc"
16 PARAMETER(NAME='RELI3/DELI3')
18 #if !defined(CERNLIB_DOUBLE)
19 FUNCTION RELI3(X,AKP,P)
22 PARAMETER(NAME='RELI3')
25 C Translation of Algol procedure el3(x,kc,p) in
26 C R. BULIRSCH Numerical Calculation of Elliptic Integrals and
27 C Elliptic Functions III., Numer. Math. 13 (1969) 305-315
31 PARAMETER (ID = 16, IB = 4)
32 PARAMETER (PI = 3.14159 26535 89793 24D0)
33 PARAMETER (AL2 = 0.69314 71805 59945 31D0)
34 PARAMETER (ALB = IB*AL2, RLB = 1/ALB)
35 PARAMETER (Z1 = 1, Z10 = 10, HF = Z1/2, C1 = Z1/10)
36 PARAMETER (ND = ID-2, CA = Z10**(-ID/2), CB = Z10**(-(ID+2)))
37 PARAMETER (ZD = HF/(ND+1))
41 DIMENSION RA(2:ND),RB(2:ND),RR(2:ND)
43 DATA (RB(K),RA(K),K=2,ND)
44 2/2.50000000000000000D-01, 7.50000000000000000D-01,
45 3 1.66666666666666667D-01, 8.33333333333333333D-01,
46 4 1.25000000000000000D-01, 8.75000000000000000D-01,
47 5 1.00000000000000000D-01, 9.00000000000000000D-01,
48 6 8.33333333333333333D-02, 9.16666666666666667D-01,
49 7 7.14285714285714286D-02, 9.28571428571428571D-01,
50 8 6.25000000000000000D-02, 9.37500000000000000D-01,
51 9 5.55555555555555556D-02, 9.44444444444444445D-01,
52 A 5.00000000000000000D-02, 9.50000000000000000D-01,
53 B 4.54545454545454545D-02, 9.54545454545454545D-01,
54 C 4.16666666666666667D-02, 9.58333333333333333D-01,
55 D 3.84615384615384615D-02, 9.61538461538461538D-01,
56 E 3.57142857142857143D-02, 9.64285714285714286D-01/
65 IF(S .EQ. 0) S=CA/(1+ABS(X))
72 IF(E .LT. C1 .AND. Z .LT. C1 .AND. T .LT. 1 .AND. R .LT. 1) THEN
89 #if defined(CERNLIB_DOUBLE)
90 H=(U-S*H1)*SQRT(H1)*X+U*DASINH(X)
92 #if !defined(CERNLIB_DOUBLE)
93 H=(U-S*H1)*SQRT(H1)*X+U*ASINH(X)
100 CALL MTLPRT(NAME,'C346.3',ERRTXT)
104 IF(PP .EQ. 0) PP=CB/HH
141 H1=Y*SQRT(H1/(AP*FA))
184 IF(Y .EQ. 0) Y =SQRT(E)*CB
209 YE=YE*(H1+1/H1)+DE*(1+R)
220 IF(ABS(G-S) .GT. CA*G) THEN
225 IF(HH .EQ. 0) HH=U*CB
226 IF(H1 .EQ. 0) H1=V*CB
240 E=(ATAN(T/Y)+PI*L)*(C*T+D)/(T*(T+Q))
253 #if defined(CERNLIB_DOUBLE)
256 #if !defined(CERNLIB_DOUBLE)
266 #if defined(CERNLIB_DOUBLE)
269 #if !defined(CERNLIB_DOUBLE)
273 103 FORMAT('FUNCTION SINGULAR FOR ',1P,
274 1 'X = ',D15.8,3X,'P = ',D15.8,4X,'(P*X**2 = -1)')