1 DOUBLE PRECISION FUNCTION dgamln(Z,IERR)
39 DOUBLE PRECISION CF, CON, FLN, FZ, GLN, RLN, S, TLG, TRM, TST,
40 * t1, wdtol, z, zdmy, zinc, zm, zmin, zp, zsq,
d1mach
41 INTEGER I, IERR, I1M, K, MZ, NZ, I1MACH
44 DATA gln(1), gln(2), gln(3), gln(4), gln(5), gln(6), gln(7),
45 1 gln(8), gln(9), gln(10), gln(11), gln(12), gln(13), gln(14),
46 2 gln(15), gln(16), gln(17), gln(18), gln(19), gln(20),
48 4 0.00000000000000000
d+00, 0.00000000000000000
d+00,
49 5 6.93147180559945309
d-01, 1.79175946922805500
d+00,
50 6 3.17805383034794562
d+00, 4.78749174278204599
d+00,
51 7 6.57925121201010100
d+00, 8.52516136106541430
d+00,
52 8 1.06046029027452502
d+01, 1.28018274800814696
d+01,
53 9 1.51044125730755153
d+01, 1.75023078458738858
d+01,
54 a 1.99872144956618861
d+01, 2.25521638531234229
d+01,
55 b 2.51912211827386815
d+01, 2.78992713838408916
d+01,
56 c 3.06718601060806728
d+01, 3.35050734501368889
d+01,
57 d 3.63954452080330536
d+01, 3.93398841871994940
d+01,
58 e 4.23356164607534850
d+01, 4.53801388984769080
d+01/
59 DATA gln(23), gln(24), gln(25), gln(26), gln(27), gln(28),
60 1 gln(29), gln(30), gln(31), gln(32), gln(33), gln(34),
61 2 gln(35), gln(36), gln(37), gln(38), gln(39), gln(40),
62 3 gln(41), gln(42), gln(43), gln(44)/
63 4 4.84711813518352239
d+01, 5.16066755677643736
d+01,
64 5 5.47847293981123192
d+01, 5.80036052229805199
d+01,
65 6 6.12617017610020020
d+01, 6.45575386270063311
d+01,
66 7 6.78897431371815350
d+01, 7.12570389671680090
d+01,
67 8 7.46582363488301644
d+01, 7.80922235533153106
d+01,
68 9 8.15579594561150372
d+01, 8.50544670175815174
d+01,
69 a 8.85808275421976788
d+01, 9.21361756036870925
d+01,
70 b 9.57196945421432025
d+01, 9.93306124547874269
d+01,
71 c 1.02968198614513813
d+02, 1.06631760260643459
d+02,
72 d 1.10320639714757395
d+02, 1.14034211781461703
d+02,
73 e 1.17771881399745072
d+02, 1.21533081515438634
d+02/
74 DATA gln(45), gln(46), gln(47), gln(48), gln(49), gln(50),
75 1 gln(51), gln(52), gln(53), gln(54), gln(55), gln(56),
76 2 gln(57), gln(58), gln(59), gln(60), gln(61), gln(62),
77 3 gln(63), gln(64), gln(65), gln(66)/
78 4 1.25317271149356895
d+02, 1.29123933639127215
d+02,
79 5 1.32952575035616310
d+02, 1.36802722637326368
d+02,
80 6 1.40673923648234259
d+02, 1.44565743946344886
d+02,
81 7 1.48477766951773032
d+02, 1.52409592584497358
d+02,
82 8 1.56360836303078785
d+02, 1.60331128216630907
d+02,
83 9 1.64320112263195181
d+02, 1.68327445448427652
d+02,
84 a 1.72352797139162802
d+02, 1.76395848406997352
d+02,
85 b 1.80456291417543771
d+02, 1.84533828861449491
d+02,
86 c 1.88628173423671591
d+02, 1.92739047287844902
d+02,
87 d 1.96866181672889994
d+02, 2.01009316399281527
d+02,
88 e 2.05168199482641199
d+02, 2.09342586752536836
d+02/
89 DATA gln(67), gln(68), gln(69), gln(70), gln(71), gln(72),
90 1 gln(73), gln(74), gln(75), gln(76), gln(77), gln(78),
91 2 gln(79), gln(80), gln(81), gln(82), gln(83), gln(84),
92 3 gln(85), gln(86), gln(87), gln(88)/
93 4 2.13532241494563261
d+02, 2.17736934113954227
d+02,
94 5 2.21956441819130334
d+02, 2.26190548323727593
d+02,
95 6 2.30439043565776952
d+02, 2.34701723442818268
d+02,
96 7 2.38978389561834323
d+02, 2.43268849002982714
d+02,
97 8 2.47572914096186884
d+02, 2.51890402209723194
d+02,
98 9 2.56221135550009525
d+02, 2.60564940971863209
d+02,
99 a 2.64921649798552801
d+02, 2.69291097651019823
d+02,
100 b 2.73673124285693704
d+02, 2.78067573440366143
d+02,
101 c 2.82474292687630396
d+02, 2.86893133295426994
d+02,
102 d 2.91323950094270308
d+02, 2.95766601350760624
d+02,
103 e 3.00220948647014132
d+02, 3.04686856765668715
d+02/
104 DATA gln(89), gln(90), gln(91), gln(92), gln(93), gln(94),
105 1 gln(95), gln(96), gln(97), gln(98), gln(99), gln(100)/
106 2 3.09164193580146922
d+02, 3.13652829949879062
d+02,
107 3 3.18152639620209327
d+02, 3.22663499126726177
d+02,
108 4 3.27185287703775217
d+02, 3.31717887196928473
d+02,
109 5 3.36261181979198477
d+02, 3.40815058870799018
d+02,
110 6 3.45379407062266854
d+02, 3.49954118040770237
d+02,
111 7 3.54539085519440809
d+02, 3.59134205369575399
d+02/
113 DATA cf(1), cf(2), cf(3), cf(4), cf(5), cf(6), cf(7), cf(8),
114 1 cf(9), cf(10), cf(11), cf(12), cf(13), cf(14), cf(15),
115 2 cf(16), cf(17), cf(18), cf(19), cf(20), cf(21), cf(22)/
116 3 8.33333333333333333
d-02, -2.77777777777777778
d-03,
117 4 7.93650793650793651
d-04, -5.95238095238095238
d-04,
118 5 8.41750841750841751
d-04, -1.91752691752691753
d-03,
119 6 6.41025641025641026
d-03, -2.95506535947712418
d-02,
120 7 1.79644372368830573
d-01, -1.39243221690590112
d+00,
121 8 1.34028640441683920
d+01, -1.56848284626002017
d+02,
122 9 2.19310333333333333
d+03, -3.61087712537249894
d+04,
123 a 6.91472268851313067
d+05, -1.52382215394074162
d+07,
124 b 3.82900751391414141
d+08, -1.08822660357843911
d+10,
125 c 3.47320283765002252
d+11, -1.23696021422692745
d+13,
126 d 4.88788064793079335
d+14, -2.13203339609193739
d+16/
129 DATA con / 1.83787706640934548
d+00/
133 IF (z.LE.0.0d0) go to 70
134 IF (z.GT.101.0d0) go to 10
137 IF (fz.GT.0.0d0) go to 10
138 IF (nz.GT.100) go to 10
143 wdtol = dmax1(wdtol,0.5
d-18)
145 rln =
d1mach(5)*float(i1m)
146 fln = dmin1(rln,20.0d0)
147 fln = dmax1(fln,3.0d0)
149 zm = 1.8000d0 + 0.3875d0*fln
150 mz = int(sngl(zm)) + 1
154 IF (z.GE.zmin) go to 20
155 zinc = zmin - float(nz)
161 IF (zp.LT.wdtol) go to 40
167 IF (dabs(trm).LT.tst) go to 40
171 IF (zinc.NE.0.0d0) go to 50
173 dgamln = z*(tlg-1.0d0) + 0.5d0*(con-tlg) + s
179 zp = zp*(z+float(i-1))
182 dgamln = zdmy*(tlg-1.0d0) - dlog(zp) + 0.5d0*(con-tlg) + s
std::string dimension(void) const
double precision function d1mach(i)
F77_RET_T const double const double double * d
double precision function dgamln(Z, IERR)