File indexing completed on 2025-08-05 08:21:09
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057 FUNCTION PYCT5L(IFL,X,Q)
0058
0059
0060 IMPLICIT DOUBLE PRECISION(A-H, O-Z)
0061 IMPLICIT INTEGER(I-N)
0062
0063 PARAMETER (NEX=8, NLF=2)
0064 DIMENSION AM(0:NEX,0:NLF,-5:2)
0065 DIMENSION ALFVEC(-5:2), QMAVEC(-5:2)
0066 DIMENSION MEXVEC(-5:2), MLFVEC(-5:2)
0067 DIMENSION UT1VEC(-5:2), UT2VEC(-5:2)
0068 DIMENSION AF(0:NEX)
0069
0070 DATA MEXVEC( 2) / 8 /
0071 DATA MLFVEC( 2) / 2 /
0072 DATA UT1VEC( 2) / 0.4971265E+01 /
0073 DATA UT2VEC( 2) / -0.1105128E+01 /
0074 DATA ALFVEC( 2) / 0.2987216E+00 /
0075 DATA QMAVEC( 2) / 0.0000000E+00 /
0076 DATA (AM( 0,K, 2),K=0, 2)
0077 & / 0.5292616E+01, -0.2751910E+01, -0.2488990E+01 /
0078 DATA (AM( 1,K, 2),K=0, 2)
0079 & / 0.9714424E+00, 0.1011827E-01, -0.1023660E-01 /
0080 DATA (AM( 2,K, 2),K=0, 2)
0081 & / -0.1651006E+02, 0.7959721E+01, 0.8810563E+01 /
0082 DATA (AM( 3,K, 2),K=0, 2)
0083 & / -0.1643394E+02, 0.5892854E+01, 0.9348874E+01 /
0084 DATA (AM( 4,K, 2),K=0, 2)
0085 & / 0.3067422E+02, 0.4235796E+01, -0.5112136E+00 /
0086 DATA (AM( 5,K, 2),K=0, 2)
0087 & / 0.2352526E+02, -0.5305168E+01, -0.1169174E+02 /
0088 DATA (AM( 6,K, 2),K=0, 2)
0089 & / -0.1095451E+02, 0.3006577E+01, 0.5638136E+01 /
0090 DATA (AM( 7,K, 2),K=0, 2)
0091 & / -0.1172251E+02, -0.2183624E+01, 0.4955794E+01 /
0092 DATA (AM( 8,K, 2),K=0, 2)
0093 & / 0.1662533E-01, 0.7622870E-02, -0.4895887E-03 /
0094
0095 DATA MEXVEC( 1) / 8 /
0096 DATA MLFVEC( 1) / 2 /
0097 DATA UT1VEC( 1) / 0.2612618E+01 /
0098 DATA UT2VEC( 1) / -0.1258304E+06 /
0099 DATA ALFVEC( 1) / 0.3407552E+00 /
0100 DATA QMAVEC( 1) / 0.0000000E+00 /
0101 DATA (AM( 0,K, 1),K=0, 2)
0102 & / 0.9905300E+00, -0.4502235E+00, 0.1624441E+00 /
0103 DATA (AM( 1,K, 1),K=0, 2)
0104 & / 0.8867534E+00, 0.1630829E-01, -0.4049085E-01 /
0105 DATA (AM( 2,K, 1),K=0, 2)
0106 & / 0.8547974E+00, 0.3336301E+00, 0.1371388E+00 /
0107 DATA (AM( 3,K, 1),K=0, 2)
0108 & / 0.2941113E+00, -0.1527905E+01, 0.2331879E+00 /
0109 DATA (AM( 4,K, 1),K=0, 2)
0110 & / 0.3384235E+02, 0.3715315E+01, 0.8276930E+00 /
0111 DATA (AM( 5,K, 1),K=0, 2)
0112 & / 0.6230115E+01, 0.3134639E+01, -0.1729099E+01 /
0113 DATA (AM( 6,K, 1),K=0, 2)
0114 & / -0.1186928E+01, -0.3282460E+00, 0.1052020E+00 /
0115 DATA (AM( 7,K, 1),K=0, 2)
0116 & / -0.8545702E+01, -0.6247947E+01, 0.3692561E+01 /
0117 DATA (AM( 8,K, 1),K=0, 2)
0118 & / 0.1724598E-01, 0.7120465E-02, 0.4003646E-04 /
0119
0120 DATA MEXVEC( 0) / 8 /
0121 DATA MLFVEC( 0) / 2 /
0122 DATA UT1VEC( 0) / -0.4656819E+00 /
0123 DATA UT2VEC( 0) / -0.2742390E+03 /
0124 DATA ALFVEC( 0) / 0.4491863E+00 /
0125 DATA QMAVEC( 0) / 0.0000000E+00 /
0126 DATA (AM( 0,K, 0),K=0, 2)
0127 & / 0.1193572E+03, -0.3886845E+01, -0.1133965E+01 /
0128 DATA (AM( 1,K, 0),K=0, 2)
0129 & / -0.9421449E+02, 0.3995885E+01, 0.1607363E+01 /
0130 DATA (AM( 2,K, 0),K=0, 2)
0131 & / 0.4206383E+01, 0.2485954E+00, 0.2497468E+00 /
0132 DATA (AM( 3,K, 0),K=0, 2)
0133 & / 0.1210557E+03, -0.3015765E+01, -0.1423651E+01 /
0134 DATA (AM( 4,K, 0),K=0, 2)
0135 & / -0.1013897E+03, -0.7113478E+00, 0.2621865E+00 /
0136 DATA (AM( 5,K, 0),K=0, 2)
0137 & / -0.1312404E+01, -0.9297691E+00, -0.1562531E+00 /
0138 DATA (AM( 6,K, 0),K=0, 2)
0139 & / 0.1627137E+01, 0.4954111E+00, -0.6387009E+00 /
0140 DATA (AM( 7,K, 0),K=0, 2)
0141 & / 0.1537698E+00, -0.2487878E+00, 0.8305947E+00 /
0142 DATA (AM( 8,K, 0),K=0, 2)
0143 & / 0.2496448E-01, 0.2457823E-02, 0.8234276E-03 /
0144
0145 DATA MEXVEC(-1) / 8 /
0146 DATA MLFVEC(-1) / 2 /
0147 DATA UT1VEC(-1) / 0.3862583E+01 /
0148 DATA UT2VEC(-1) / -0.1265969E+01 /
0149 DATA ALFVEC(-1) / 0.2457668E+00 /
0150 DATA QMAVEC(-1) / 0.0000000E+00 /
0151 DATA (AM( 0,K,-1),K=0, 2)
0152 & / 0.2647441E+02, 0.1059277E+02, -0.9176654E+00 /
0153 DATA (AM( 1,K,-1),K=0, 2)
0154 & / 0.1990636E+01, 0.8558918E-01, 0.4248667E-01 /
0155 DATA (AM( 2,K,-1),K=0, 2)
0156 & / -0.1476095E+02, -0.3276255E+02, 0.1558110E+01 /
0157 DATA (AM( 3,K,-1),K=0, 2)
0158 & / -0.2966889E+01, -0.3649037E+02, 0.1195914E+01 /
0159 DATA (AM( 4,K,-1),K=0, 2)
0160 & / -0.1000519E+03, -0.2464635E+01, 0.1964849E+00 /
0161 DATA (AM( 5,K,-1),K=0, 2)
0162 & / 0.3718331E+02, 0.4700389E+02, -0.2772142E+01 /
0163 DATA (AM( 6,K,-1),K=0, 2)
0164 & / -0.1872722E+02, -0.2291189E+02, 0.1089052E+01 /
0165 DATA (AM( 7,K,-1),K=0, 2)
0166 & / -0.1628146E+02, -0.1823993E+02, 0.2537369E+01 /
0167 DATA (AM( 8,K,-1),K=0, 2)
0168 & / -0.1156300E+01, -0.1280495E+00, 0.5153245E-01 /
0169
0170 DATA MEXVEC(-2) / 7 /
0171 DATA MLFVEC(-2) / 2 /
0172 DATA UT1VEC(-2) / 0.1895615E+00 /
0173 DATA UT2VEC(-2) / -0.3069097E+01 /
0174 DATA ALFVEC(-2) / 0.5293999E+00 /
0175 DATA QMAVEC(-2) / 0.0000000E+00 /
0176 DATA (AM( 0,K,-2),K=0, 2)
0177 & / -0.6556775E+00, 0.2490190E+00, 0.3966485E-01 /
0178 DATA (AM( 1,K,-2),K=0, 2)
0179 & / 0.1305102E+01, -0.1188925E+00, -0.4600870E-02 /
0180 DATA (AM( 2,K,-2),K=0, 2)
0181 & / -0.2371436E+01, 0.3566814E+00, -0.2834683E+00 /
0182 DATA (AM( 3,K,-2),K=0, 2)
0183 & / -0.6152826E+01, 0.8339877E+00, -0.7233230E+00 /
0184 DATA (AM( 4,K,-2),K=0, 2)
0185 & / -0.8346558E+01, 0.2892168E+01, 0.2137099E+00 /
0186 DATA (AM( 5,K,-2),K=0, 2)
0187 & / 0.1279530E+02, 0.1021114E+00, 0.5787439E+00 /
0188 DATA (AM( 6,K,-2),K=0, 2)
0189 & / 0.5858816E+00, -0.1940375E+01, -0.4029269E+00 /
0190 DATA (AM( 7,K,-2),K=0, 2)
0191 & / -0.2795725E+02, -0.5263392E+00, 0.1290229E+01 /
0192
0193 DATA MEXVEC(-3) / 7 /
0194 DATA MLFVEC(-3) / 2 /
0195 DATA UT1VEC(-3) / 0.3753257E+01 /
0196 DATA UT2VEC(-3) / -0.1113085E+01 /
0197 DATA ALFVEC(-3) / 0.3713141E+00 /
0198 DATA QMAVEC(-3) / 0.0000000E+00 /
0199 DATA (AM( 0,K,-3),K=0, 2)
0200 & / 0.1580931E+01, -0.2273826E+01, -0.1822245E+01 /
0201 DATA (AM( 1,K,-3),K=0, 2)
0202 & / 0.2702644E+01, 0.6763243E+00, 0.7231586E-02 /
0203 DATA (AM( 2,K,-3),K=0, 2)
0204 & / -0.1857924E+02, 0.3907500E+01, 0.5850109E+01 /
0205 DATA (AM( 3,K,-3),K=0, 2)
0206 & / -0.3044793E+02, 0.2639332E+01, 0.5566644E+01 /
0207 DATA (AM( 4,K,-3),K=0, 2)
0208 & / -0.4258011E+01, -0.5429244E+01, 0.4418946E+00 /
0209 DATA (AM( 5,K,-3),K=0, 2)
0210 & / 0.3465259E+02, -0.5532604E+01, -0.4904153E+01 /
0211 DATA (AM( 6,K,-3),K=0, 2)
0212 & / -0.1658858E+02, 0.2923275E+01, 0.2266286E+01 /
0213 DATA (AM( 7,K,-3),K=0, 2)
0214 & / -0.1149263E+02, 0.2877475E+01, -0.7999105E+00 /
0215
0216 DATA MEXVEC(-4) / 7 /
0217 DATA MLFVEC(-4) / 2 /
0218 DATA UT1VEC(-4) / 0.4400772E+01 /
0219 DATA UT2VEC(-4) / -0.1356116E+01 /
0220 DATA ALFVEC(-4) / 0.3712017E-01 /
0221 DATA QMAVEC(-4) / 0.1300000E+01 /
0222 DATA (AM( 0,K,-4),K=0, 2)
0223 & / -0.8293661E+00, -0.3982375E+01, -0.6494283E-01 /
0224 DATA (AM( 1,K,-4),K=0, 2)
0225 & / 0.2754618E+01, 0.8338636E+00, -0.6885160E-01 /
0226 DATA (AM( 2,K,-4),K=0, 2)
0227 & / -0.1657987E+02, 0.1439143E+02, -0.6887240E+00 /
0228 DATA (AM( 3,K,-4),K=0, 2)
0229 & / -0.2800703E+02, 0.1535966E+02, -0.7377693E+00 /
0230 DATA (AM( 4,K,-4),K=0, 2)
0231 & / -0.6460216E+01, -0.4783019E+01, 0.4913297E+00 /
0232 DATA (AM( 5,K,-4),K=0, 2)
0233 & / 0.3141830E+02, -0.3178031E+02, 0.7136013E+01 /
0234 DATA (AM( 6,K,-4),K=0, 2)
0235 & / -0.1802509E+02, 0.1862163E+02, -0.4632843E+01 /
0236 DATA (AM( 7,K,-4),K=0, 2)
0237 & / -0.1240412E+02, 0.2565386E+02, -0.1066570E+02 /
0238
0239 DATA MEXVEC(-5) / 6 /
0240 DATA MLFVEC(-5) / 2 /
0241 DATA UT1VEC(-5) / 0.5562568E+01 /
0242 DATA UT2VEC(-5) / -0.1801317E+01 /
0243 DATA ALFVEC(-5) / 0.4952010E-02 /
0244 DATA QMAVEC(-5) / 0.4500000E+01 /
0245 DATA (AM( 0,K,-5),K=0, 2)
0246 & / -0.6031237E+01, 0.1992727E+01, -0.1076331E+01 /
0247 DATA (AM( 1,K,-5),K=0, 2)
0248 & / 0.2933912E+01, 0.5839674E+00, 0.7509435E-01 /
0249 DATA (AM( 2,K,-5),K=0, 2)
0250 & / -0.8284919E+01, 0.1488593E+01, -0.8251678E+00 /
0251 DATA (AM( 3,K,-5),K=0, 2)
0252 & / -0.1925986E+02, 0.2805753E+01, -0.3015446E+01 /
0253 DATA (AM( 4,K,-5),K=0, 2)
0254 & / -0.9480483E+01, -0.9767837E+00, -0.1165544E+01 /
0255 DATA (AM( 5,K,-5),K=0, 2)
0256 & / 0.2193195E+02, -0.1788518E+02, 0.9460908E+01 /
0257 DATA (AM( 6,K,-5),K=0, 2)
0258 & / -0.1327377E+02, 0.1201754E+02, -0.6277844E+01 /
0259
0260 IF(Q .LE. QMAVEC(IFL)) THEN
0261 PYCT5L = 0.D0
0262 RETURN
0263 ENDIF
0264
0265 IF(X .GE. 1.D0) THEN
0266 PYCT5L = 0.D0
0267 RETURN
0268 ENDIF
0269
0270 TMP = LOG(Q/ALFVEC(IFL))
0271 IF(TMP .LE. 0.D0) THEN
0272 PYCT5L = 0.D0
0273 RETURN
0274 ENDIF
0275
0276 SB = LOG(TMP)
0277 SB1 = SB - 1.2D0
0278 SB2 = SB1*SB1
0279
0280 DO 110 I = 0, NEX
0281 AF(I) = 0.D0
0282 SBX = 1.D0
0283 DO 100 K = 0, MLFVEC(IFL)
0284 AF(I) = AF(I) + SBX*AM(I,K,IFL)
0285 SBX = SB1*SBX
0286 100 CONTINUE
0287 110 CONTINUE
0288
0289 Y = -LOG(X)
0290 U = LOG(X/0.00001D0)
0291
0292 PART1 = AF(1)*Y**(1.D0+0.01D0*AF(4))*(1.D0+ AF(8)*U)
0293 PART2 = AF(0)*(1.D0 - X) + AF(3)*X
0294 PART3 = X*(1.D0-X)*(AF(5)+AF(6)*(1.D0-X)+AF(7)*X*(1.D0-X))
0295 PART4 = UT1VEC(IFL)*LOG(1.D0-X) +
0296 & AF(2)*LOG(1.D0+EXP(UT2VEC(IFL))-X)
0297
0298 PYCT5L = EXP(LOG(X) + PART1 + PART2 + PART3 + PART4)
0299
0300
0301 PYCT5L = PYCT5L * (1.D0 - QMAVEC(IFL)/Q)
0302
0303 RETURN
0304 END