PETSc version 3.15.5
Fix/Edit manual page

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)
   PetscOffset i_is
   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(:)
         PetscErrorCode  ierr
         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/ex2.c.html
src/vec/is/is/tutorials/ex3.c.html
src/vec/is/is/tutorials/ex1f.F.html
src/vec/is/is/tutorials/ex2f.F.html
src/dm/tutorials/swarm_ex3.c.html
src/ksp/ksp/tutorials/ex71.c.html
src/ksp/ksp/tutorials/ex76.c.html
src/snes/tutorials/ex56.c.html
src/snes/tutorials/ex77.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

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