ISGlobalToLocalMappingApply

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

Synopsis

#include "petscsys.h" 
#include "petscis.h"  
int ISGlobalToLocalMappingApply(ISLocalToGlobalMapping mapping,ISGlobalToLocalMappingType type,
                                  int n,const int idx[],int *nout,int idxout[])
Not collective

Input Parameters

mapping - mapping between local and global numbering
type - IS_GTOLM_MASK - replaces global indices with no local value with -1 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 == PETSC_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.

Notes

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

This is not scalable in memory usage. Each processor requires O(Nglobal) size array to compute these.

See Also

ISLocalToGlobalMappingApply(), ISLocalToGlobalMappingCreate(),
ISLocalToGlobalMappingDestroy()

Level:advanced
Location:
src/vec/is/utils/isltog.c
Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages

Examples

src/vec/is/examples/tutorials/ex4.c.html