5 * Revision 1.9 2000/07/25 14:53:05 mclareni
6 * Version 7.51 from author
9 *#include "sys/CERNLIB_machine.h"
10 #include "isajet/pilot.h"
11 #if defined(CERNLIB_NOCERN)
12 DOUBLE PRECISION FUNCTION DDILOG(X)
14 C FROM CERN PROGRAM LIBRARY
16 #if defined(CERNLIB_IMPNONE)
19 DOUBLE PRECISION X,Y,T,S,A,PI3,PI6,ZERO,ONE,HALF,MALF,MONE,MTWO
20 DOUBLE PRECISION C(0:18),H,ALFA,B0,B1,B2
23 DATA ZERO /0.0D0/, ONE /1.0D0/
24 DATA HALF /0.5D0/, MALF /-0.5D0/, MONE /-1.0D0/, MTWO /-2.0D0/
25 DATA PI3 /3.28986 81336 96453D0/, PI6 /1.64493 40668 48226D0/
27 DATA C( 0) / 0.42996 69356 08137 0D0/
28 DATA C( 1) / 0.40975 98753 30771 1D0/
29 DATA C( 2) /-0.01858 84366 50146 0D0/
30 DATA C( 3) / 0.00145 75108 40622 7D0/
31 DATA C( 4) /-0.00014 30418 44423 4D0/
32 DATA C( 5) / 0.00001 58841 55418 8D0/
33 DATA C( 6) /-0.00000 19078 49593 9D0/
34 DATA C( 7) / 0.00000 02419 51808 5D0/
35 DATA C( 8) /-0.00000 00319 33412 7D0/
36 DATA C( 9) / 0.00000 00043 45450 6D0/
37 DATA C(10) /-0.00000 00006 05784 8D0/
38 DATA C(11) / 0.00000 00000 86121 0D0/
39 DATA C(12) /-0.00000 00000 12443 3D0/
40 DATA C(13) / 0.00000 00000 01822 6D0/
41 DATA C(14) /-0.00000 00000 00270 1D0/
42 DATA C(15) / 0.00000 00000 00040 4D0/
43 DATA C(16) /-0.00000 00000 00006 1D0/
44 DATA C(17) / 0.00000 00000 00000 9D0/
45 DATA C(18) /-0.00000 00000 00000 1D0/
50 ELSE IF(X .EQ. MONE) THEN
58 A=-PI3+HALF*(LOG(-T)**2-LOG(ONE+ONE/T)**2)
59 ELSE IF(T .LT. MONE) THEN
63 A=-PI6+A*(A+LOG(ONE+ONE/T))
64 ELSE IF(T .LE. MALF) THEN
68 A=-PI6+A*(MALF*A+LOG(ONE+T))
69 ELSE IF(T .LT. ZERO) THEN
73 ELSE IF(T .LE. ONE) THEN
91 DDILOG=-(S*(B0-H*B2)+A)