Provides the local numbering for a list of integers specified with a global numbering.


Not Collective

Input Parameters#

  • mapping - mapping between local and global numbering

  • type - IS_GTOLM_MASK - maps global indices with no local value to -1 in the output list (i.e., mask them) IS_GTOLM_DROP - drops the indices with no local value from the output list

  • n - number of global indices to map

  • idx - global indices to map

Output Parameters#

  • nout - number of indices in output array (if type == IS_GTOLM_MASK then nout = n)

  • idxout - local index of each global index, one must pass in an array long enough to hold all the indices. You can call ISGlobalToLocalMappingApply() with idxout == NULL to determine the required length (returned in nout) and then allocate the required space and call ISGlobalToLocalMappingApply() a second time to set the values.


Either nout or idxout may be NULL. idx and idxout may be identical.

For “small” problems when using ISGlobalToLocalMappingApply() and ISGlobalToLocalMappingApplyBlock(), the ISLocalToGlobalMappingType of ISLOCALTOGLOBALMAPPINGBASIC will be used; this uses more memory but is faster; this approach is not scalable for extremely large mappings. For large problems ISLOCALTOGLOBALMAPPINGHASH is used, this is scalable. Use ISLocalToGlobalMappingSetType() or call ISLocalToGlobalMappingSetFromOptions() with the option -islocaltoglobalmapping_type <basic,hash> to control which is used.

Developer Notes#

The manual page states that idx and idxout may be identical but the calling sequence declares idx as const so it cannot be the same as idxout.

See Also#

Low-level Vector Communication, ISLocalToGlobalMapping, ISLocalToGlobalMappingApply(), ISGlobalToLocalMappingApplyBlock(), ISLocalToGlobalMappingCreate(), ISLocalToGlobalMappingDestroy()







Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages