32 integer,
intent(in) :: n1,n2,nprocs,irank
33 integer,
intent(out) :: ista,iend
34 integer iwork1, iwork2
36 iwork1 = ( n2 - n1 + 1 ) / nprocs
37 iwork2 = mod( n2 - n1 + 1, nprocs )
38 ista = irank * iwork1 + n1 + min( irank, iwork2 )
39 iend = ista + iwork1 - 1
40 if ( iwork2 > irank ) iend = iend + 1
71 subroutine para_range2(im,jm,nx,ny,nrank,ista,iend,jsta,jend)
74 integer,
intent(in) :: im,jm,nx,ny,nrank
75 integer,
intent(out) :: ista,iend,jsta,jend
subroutine para_range(N1, N2, NPROCS, IRANK, ISTA, IEND)
para_range() sets up decomposition values.