subroutine dftop1(x,gprob,dfprob,mxg, + mx,nx,dx,x1,x2) c This routine bilinearly interpolates dfprob to c the point x for each group. This is the 1-D version c of dftop. c dimension dfprob(0:mx,mxg),gprob(mxg) c xlocal = x if (xlocal .lt. x1) xlocal = x1 if (xlocal .gt. x2) xlocal = x2 c do m=1,mxg gprob(m) = 0.0 enddo c c Calculate indices of left point closest to (x) ix = ifix((xlocal-x1)/dx) c if (ix .lt. 0) ix = 0 if (ix .gt. nx-1) ix = nx-1 c xn = (xlocal-x1)/dx - float(ix) c c write(6,*) 'dx: ',dx c write(6,*) 'x1: ',x1 c write(6,*) 'ix: ',ix c write(6,*) 'xn: ',xn c do m=1,mxg g00 = dfprob(ix ,m) g10 = dfprob(ix+1,m) c a = g00 b = g10 - g00 c gprob(m) = a + b*xn enddo c return end