# Name

HPL_indxg2lp Map a local index into a global one.

# Synopsis

`#include "hpl.h"`
`void` `HPL_indxg2lp(` `int *` `IL`, `int *` `PROC`, `const int` `IG`, `const int` `INB`, `const int` `NB`, `const int` `SRCPROC`, `const int` `NPROCS` `);`

# Description

HPL_indxg2lp computes the local index of a matrix entry pointed to by the global index IG as well as the process coordinate which posseses this entry. The local returned index is the same in all processes.

# Arguments

    IL      (output)                      int *
            On exit, IL specifies the local index corresponding to IG. IL
            is at least zero.

    PROC    (output)                      int *
            On exit,  PROC  is the  coordinate of the process  owning the
            entry specified by the global index IG. PROC is at least zero
            and less than NPROCS.

    IG      (input)                       const int
            On entry, IG specifies the global index of the matrix  entry.
            IG must be at least zero.

    INB     (input)                       const int
            On entry,  INB  specifies  the size of the first block of the
            global matrix. INB must be at least one.

    NB      (input)                       const int
            On entry,  NB specifies the blocking factor used to partition
            and distribute the matrix A. NB must be larger than one.

    SRCPROC (input)                       const int
            On entry, if SRCPROC = -1, the data  is not  distributed  but
            replicated,  in  which  case  this  routine returns IG in all
            processes. Otherwise, the value of SRCPROC is ignored.

    NPROCS  (input)                       const int
            On entry,  NPROCS  specifies the total number of process rows
            or columns over which the matrix is distributed.  NPROCS must
            be at least one.

# See Also

HPL_indxg2l, HPL_indxg2p, HPL_indxl2g, HPL_numroc, HPL_numrocI.