ISGetIndices#

Returns a pointer to the indices. The user should call ISRestoreIndices() after having looked at the indices. The user should NOT change the indices.

Synopsis#

#include "petscis.h" 
PetscErrorCode ISGetIndices(IS is, const PetscInt *ptr[])

Not Collective

Input Parameter#

  • is - the index set

Output Parameter#

  • ptr - the location to put the pointer to the indices

Fortran Note#

This routine has two different interfaces from Fortran; the first is not recommend, it does not require Fortran 90

IS          is
integer     is_array(1)
int         ierr
call ISGetIndices(is,is_array,i_is,ierr)

Access first local entry in list
value = is_array(i_is + 1)

...... other code
call ISRestoreIndices(is,is_array,i_is,ierr)

The second Fortran interface is recommended.

use petscisdef
PetscInt, pointer :: array(:)
IS       i
call ISGetIndicesF90(i,array,ierr)

See the Fortran chapter of the users manual and petsc/src/is/[tutorials,tests] for details.

See Also#

ISRestoreIndices(), ISGetIndicesF90()

Level#

intermediate

Location#

src/vec/is/is/interface/index.c

Examples#

src/vec/vec/utils/tagger/tutorials/ex1.c.html
src/vec/is/is/tutorials/ex1.c.html
src/vec/is/is/tutorials/ex1f.F90.html
src/vec/is/is/tutorials/ex2.c.html
src/vec/is/is/tutorials/ex2f.F90.html
src/vec/is/is/tutorials/ex3.c.html
src/dm/impls/plex/tutorials/ex10.c.html
src/dm/tutorials/ex22.c.html
src/dm/tutorials/swarm_ex3.c.html
src/ksp/ksp/tutorials/ex71.c.html
src/ksp/ksp/tutorials/ex76.c.html

Implementations#

ISGetIndices_Block in src/vec/is/is/impls/block/block.c
ISGetIndices_General in src/vec/is/is/impls/general/general.c
ISGetIndices_Stride in src/vec/is/is/impls/stride/stride.c


Edit on GitLab

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