1 subroutine A02evolve(xb,Q,fset)
3 include 'parmsetup.inc'
4 integer npdf,npar,kschem,i,k,n,m,nxbb
5 integer nxb,nq,np,nvar,pdfmem,imem
6 parameter(nxb=99,nq=20,np=9,nvar=15)
7 character*16 name(nmxset)
8 integer nmem(nmxset),ndef(nmxset),mem
9 common/NAME/name,nmem,ndef,mem
11 real*4 f(0:nvar,nxb,nq+1,0:np)
12 real*8 x1,xd,del,dels,delx,delx1,xlog1
13 real*8 pdfs(np),fset(-6:6),alfas
14 real*8 x,Q,xb,q2,xmin,xmax,qsq,qsqmin,qsqmax,a,b,ss
15 data xmin,xmax,qsqmin,qsqmax/1d-7,1d0,0.8d0,2d8/
17 save f,npdf,npar,pdfmem,dels,delx,x1,delx1,xlog1,nxbb
20 if(q2.lt.qsqmin.or.q2.gt.qsqmax) print 99,q2
21 if(xb.lt.xmin.or.xb.gt.xmax) print 98,x
22 99 format(' WARNING: Q^2 VALUE IS OUT OF RANGE ')
23 98 format(' WARNING: X VALUE IS OUT OF RANGE ')
40 ss=log(log(qsq/0.04))-log(log(qsqmin/0.04))
47 if (n.gt.1.and.m.gt.1.and.n.ne.49) then
48 pdfs(i)= f(k,n,m,i)*(1+a*b-a**2-b**2)
49 + + f(k,n+1,m+1,i)*a*b
50 + + f(k,n+1,m,i)*a*(a-2*b+1)/2.
51 + + f(k,n,m+1,i)*b*(b-2*a+1)/2.
52 + + f(k,n-1,m,i)*a*(a-1)/2.
53 + + f(k,n,m-1,i)*b*(b-1)/2.
55 pdfs(i)= (1-a)*(1-b)*f(k,n,m,i)
56 . + (1-a)*b*f(k,n,m+1,i)
57 . + a*(1-b)*f(k,n+1,m,i)
58 . + a*b*f(k,n+1,m+1,i)
67 c--reversed mrs 7/7/04 due
71 c--reversed mrs 7/7/04 due
72 fset(2)=pdfs(1)+pdfs(4)
73 fset(1)=pdfs(2)+pdfs(6)
80 entry A02alfa(alfas,Q)
82 if(q2.lt.qsqmin.or.q2.gt.qsqmax) print 99,q2
86 ss=log(log(qsq/0.04))-log(log(qsqmin/0.04))
91 alfas=(1d0-b)*f(k,1,m,0)+b*f(k,1,m+1,0)
95 c following fix because members are 0-nvar
104 read(1,100) (f(k,n,m,i),i=0,npdf)
113 dels=(log(log(qsqmax/0.04))-log(log(qsqmin/0.04)))/(nq-1)
118 delx=(log(x1)-log(xmin))/(nxbb-1)
119 DELX1=(1-x1)**2/(nxbb+1)
129 f(k,nxb,m,0)=f(k,nxb-1,m,0)
137 if ((pdfmem.lt.0).or.(pdfmem.gt.npar)) then
138 write(*,*) 'A02 PDF set:'
139 write(*,*) 'PDF member out of range:'
140 write(*,*) 'member = ',pdfmem,' member range = (0,',npar,')'