4 subroutine SMRSPevolve(xin,qin,pdf)
5 include 'parmsetup.inc'
8 real*8 xin,qin,pdf(-6:6),xval(45),qcdl4,qcdl5
9 real*8 upv,dnv,usea,dsea,str,chm,bot,top,glu
13 common /SMRSP/ F(7,NX,NQ,3)
14 character*16 name(nmxset)
16 integer nmem(nmxset),ndef(nmxset),mmem
17 common/NAME/name,nmem,ndef,mmem
23 call getnmem(iset,imem)
26 if(iimem.eq.0) iimem = 2
28 call SMRSPxx(iimem,xin,qin,upv,dnv,usea,str,chm,bot,glu)
47 !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
49 read(1,*)nmem(nset),ndef(nset)
53 if(initread.eq.0) then
54 read(1,*)(F(m,k,l,j),m=1,5),F(7,k,l,j),F(6,k,l,j)
64 !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
65 entry SMRSPalfa(alfas,qalfa)
67 call getnmem(iset,imem)
68 call GetOrderAsM(iset,iord)
69 call Getlam4M(iset,imem,qcdl4)
70 call Getlam5M(iset,imem,qcdl5)
71 call aspdflib(alfas,Qalfa,iord,qcdl5)
74 !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
75 entry SMRSPinit(Eorder,Q2fit)
78 !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
82 call setnmem(iset,mem)
87 !cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
89 SUBROUTINE SMRSPxx(iset,X,SCALE,UPV,DNV,SEA,STR,CHM,BOT,GLU)
91 ! :::::::::::: PION STRUCTURE FUNCTION :: 10% SEA :::::::::::::::::
93 implicit real*8 (a-h,o-z)
97 common /SMRSP/ F(7,NX,NQ,3)
98 DIMENSION G(7),XX(NX),N0(7),XX0(NX)
99 ! DIMENSION F(7,NX,NQ),G(7),XX(NX),N0(7)
100 DATA XX/1.D-5,2.D-5,4.D-5,6.D-5,8.D-5, &
101 & 1.D-4,2.D-4,4.D-4,6.D-4,8.D-4, &
102 & 1.D-3,2.D-3,4.D-3,6.D-3,8.D-3, &
103 & 1.D-2,2.D-2,4.D-2,6.D-2,8.D-2, &
104 & .1D0,.125D0,.15D0,.175D0,.2D0,.225D0,.25D0,.275D0, &
105 & .3D0,.325D0,.35D0,.375D0,.4D0,.425D0,.45D0,.475D0, &
106 & .5D0,.525D0,.55D0,.575D0,.6D0,.65D0,.7D0,.75D0, &
107 & .8D0,.85D0,.9D0,.95D0,.975D0,1.D0/
108 DATA XMIN,XMAX,QSQMIN,QSQMAX/1.D-5,1.D0,5.D0,1310720.D0/
109 DATA N0/0,0,3,5,0,5,0/
110 DATA ZEROD/0.D0/,PONED/0.1D0/,ONED/1.D0/,ONEDO/1.1D0/,TWOD/2.D0/
114 IF(INIT.NE.0) GOTO 10
123 25 F(I,N,M,jset)=F(I,N,M,jset)/(ONED-XX0(N))**N0(I)
126 if(jset.eq.1) XX(J)= LOG10(XX(J))+ONEDO
129 30 F(I,J,K,jset)= LOG(F(I,J,K,jset)) &
130 & *F(I,NTENTH,K,jset)/ LOG(F(I,NTENTH,K,jset))
134 40 F(I,NX,M,jset)=ZEROD
137 ! IF(X.LT.XMIN) X=XMIN
138 ! IF(X.GT.XMAX) X=XMAX
140 ! IF(QSQ.LT.QSQMIN) QSQ=QSQMIN
141 ! IF(QSQ.GT.QSQMAX) QSQ=QSQMAX
143 IF(X.LT.PONED) XXX= LOG10(X)+ONEDO
146 IF(XXX.GT.XX(N+1)) GOTO 70
147 A=(XXX-XX(N))/(XX(N+1)-XX(N))
148 RM= LOG(QSQ/QSQMIN)/ LOG(TWOD)
152 G(I)= (ONED-A)*(ONED-B)*F(I,N,M,iset)+(ONED-A)*B*F(I,N,M+1,iset) &
153 & + A*(ONED-B)*F(I,N+1,M,iset) + A*B*F(I,N+1,M+1,iset)
154 IF(N.GE.NTENTH) GOTO 65
155 IF(I.EQ.7.OR.I.EQ.1) GOTO 65
156 FAC=(ONED-B)*F(I,NTENTH,M,iset)+B*F(I,NTENTH,M+1,iset)
159 G(I)=G(I)*(ONED-X)**N0(I)
161 ! UPBAR DISTRIBUTION = D DISTRIBUTION
164 ! THIS SEA IS (UBAR+DBAR)/2