:orphan: # ISSetInfo Set known information about an index set. ## Synopsis ``` #include "petscis.h" PetscErrorCode ISSetInfo(IS is, ISInfo info, ISInfoType type, PetscBool permanent, PetscBool flg) ``` Logically Collective on `is` if `ISInfoType` is `IS_GLOBAL` ## Input Parameters - ***is -*** the index set - ***info -*** describing a property of the index set, one of those listed below, - ***type -*** `IS_LOCAL` if the information describes the local portion of the index set, `IS_GLOBAL` if it describes the whole index set - ***permanent -*** `PETSC_TRUE` if it is known that the property will persist through changes to the index set, `PETSC_FALSE` otherwise If the user sets a property as permanently known, it will bypass computation of that property - ***flg -*** set the described property as true (`PETSC_TRUE`) or false (`PETSC_FALSE`) ## Info Describing IS Structure - ***`IS_SORTED` -*** the [local part of the] index set is sorted in ascending order - ***`IS_UNIQUE` -*** each entry in the [local part of the] index set is unique - ***`IS_PERMUTATION` -*** the [local part of the] index set is a permutation of the integers {0, 1, ..., N-1}, where N is the size of the [local part of the] index set - ***`IS_INTERVAL` -*** the [local part of the] index set is equal to a contiguous range of integers {f, f + 1, ..., f + N-1} - ***`IS_IDENTITY` -*** the [local part of the] index set is equal to the integers {0, 1, ..., N-1} ## Notes If type is `IS_GLOBAL`, all processes that share the index set must pass the same value in flg It is possible to set a property with `ISSetInfo()` that contradicts what would be previously computed with `ISGetInfo()` ## See Also `ISInfo`, `ISInfoType`, `IS` ## Level advanced ## Location src/vec/is/is/interface/index.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/is/is/interface/index.c) [Index of all IS routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)