File indexing completed on 2025-08-05 08:21:13
0001
0002
0003
0004
0005
0006
0007
0008
0009 FUNCTION PYPCMP(XS,NPOW)
0010 IMPLICIT NONE
0011 DOUBLE PRECISION XS, PYPCMP
0012 INTEGER NPOW
0013 IF (XS.GE.1D0.OR.XS.LE.0D0) THEN
0014 PYPCMP=0D0
0015 ELSEIF (NPOW.LE.0) THEN
0016 PYPCMP=XS*(5D0+XS*(-9D0-2D0*XS*(-3D0+XS))+3D0*LOG(XS))
0017 PYPCMP=PYPCMP/((-1D0+XS)*(2D0+XS*(-1D0+2D0*XS)))
0018 ELSEIF (NPOW.EQ.1) THEN
0019 PYPCMP=-1D0-3D0*XS+(2D0*(-1D0+XS)**2*(1D0+XS+XS**2))
0020 & /(2D0+XS**2*(XS-3D0)+3D0*XS*LOG(XS))
0021 ELSEIF (NPOW.EQ.2) THEN
0022 PYPCMP=XS*((1D0-XS)*(19D0+XS*(43D0+4D0*XS))
0023 & +6D0*LOG(XS)*(1D0+6D0*XS+4D0*XS**2))
0024 PYPCMP=PYPCMP/(4D0*((XS-1D0)*(1D0+XS*(4D0+XS))
0025 & -3D0*XS*LOG(XS)*(1+XS)))
0026 ELSEIF (NPOW.EQ.3) THEN
0027 PYPCMP=3D0*XS*((XS-1)*(7D0+XS*(28D0+13D0*XS))
0028 & -2D0*LOG(XS)*(1D0+XS*(9D0+2D0*XS*(6D0+XS))))
0029 PYPCMP=PYPCMP/(4D0+27D0*XS-31D0*XS**3
0030 & +6D0*XS*LOG(XS)*(3D0+2D0*XS*(3D0+XS)))
0031 ELSE
0032 PYPCMP=(-9D0*XS*(XS**2-1D0)*(5D0+XS*(24D0+XS))+12D0*XS*LOG(XS)
0033 & *(1D0+2D0*XS)*(1D0+2D0*XS*(5D0+2D0*XS)))
0034 PYPCMP=PYPCMP/(8D0*(1D0+2D0*XS)*((XS-1D0)*(1D0+XS*(10D0+XS))
0035 & -6D0*XS*LOG(XS)*(1D0+XS)))
0036 ENDIF
0037 RETURN
0038 END