:orphan: # ISPermutation `PETSC_TRUE` or `PETSC_FALSE` depending on whether the index set has been declared to be a permutation. ## Synopsis ``` #include "petscis.h" PetscErrorCode ISPermutation(IS is, PetscBool *perm) ``` Logically Collective ## Input Parameter - ***is -*** the index set ## Output Parameter - ***perm -*** `PETSC_TRUE` if a permutation, else `PETSC_FALSE` ## Note If it is not already known that `is` is a permutation (if `ISSetPermutation()` or `ISSetInfo()` has not been called), this routine will not attempt to compute whether the index set is a permutation and will assume `perm` is `PETSC_FALSE`. To compute the value when it is not already known, use `ISGetInfo()` with the compute flag set to `PETSC_TRUE`. ## Developer Note Perhaps some of these routines should use the `PetscBool3` enum to return appropriate values ## See Also `IS`, `ISSetPermutation()`, `ISGetInfo()` ## Level intermediate ## 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)