INTEGER FUNCTION INDXL2G( INDXLOC, NB, IPROC, ISRCPROC, NPROCS ) ! ! -- ScaLAPACK tools routine (version 1.5) -- ! University of Tennessee, Knoxville, Oak Ridge National Laboratory, ! and University of California, Berkeley. ! May 1, 1997 ! ! .. Scalar Arguments .. INTEGER INDXLOC, IPROC, ISRCPROC, NB, NPROCS ! .. ! ! Purpose ! ======= ! ! INDXL2G computes the global index of a distributed matrix entry ! pointed to by the local index INDXLOC of the process indicated by ! IPROC. ! ! Arguments ! ========= ! ! INDXLOC (global input) INTEGER ! The local index of the distributed matrix entry. ! ! NB (global input) INTEGER ! Block size, size of the blocks the distributed matrix is ! split into. ! ! IPROC (local input) INTEGER ! The coordinate of the process whose local array row or ! column is to be determined. ! ! ISRCPROC (global input) INTEGER ! The coordinate of the process that possesses the first ! row/column of the distributed matrix. ! ! NPROCS (global input) INTEGER ! The total number processes over which the distributed ! matrix is distributed. ! ! ===================================================================== ! ! .. Intrinsic Functions .. INTRINSIC MOD ! .. ! .. Executable Statements .. ! INDXL2G = NPROCS*NB*((INDXLOC-1)/NB) + MOD(INDXLOC-1,NB) + & & MOD(NPROCS+IPROC-ISRCPROC, NPROCS)*NB + 1 ! RETURN ! ! End of INDXL2G ! END