C c:\mingw\bin gcc c:\work\qstar\binspot.f -shared -o c:\work\qstar\binspot.dll subroutine binspotf (xold,binspots,x,numcol, + xoldlen,xlen) implicit none integer found, binindex, spot, numcol, + xlen, xoldlen, binlen double precision xoldbegin, xold(xoldlen,numcol), + binspots(xlen), x(xlen,numcol) xoldbegin = xold(1,1) found = 0 binindex = 0 10 if (found .eq. 0) then binindex = binindex + 1 if (binspots(binindex) .ge. xoldbegin) then found = 1 end if go to 10 end if spot = 1 20 if (spot .le. xoldlen) then if (xold(spot,1) .lt. binspots(binindex)) then x(binindex,1) = x(binindex,1) + 1 x(binindex,2) = x(binindex,2) + xold(spot,2) spot = spot + 1 else binindex = binindex + 1 end if go to 20 end if return end