petsc-3.14.6 2021-03-30
Report Typos and Errors

PetscDTPermIndex

Encode a permutation of n into an integer in [0, n!). This inverts PetscDTEnumPerm.

Input Arguments

n - a non-negative integer (see note about limits below)
perm - the permuted list of the integers [0, ..., n-1]

Output Arguments

k - an integer in [0, n!)
isOdd - if not NULL, returns wether the permutation used an even or odd number of swaps.

Note: this is limited to n such that n! can be represented by PetscInt, which is 12 if PetscInt is a signed 32-bit integer and 20 if PetscInt is a signed 64-bit integer.

Level

beginner

Location

src/dm/dt/space/../../../../include/petscdt.h
Index of all SPACE routines
Table of Contents for all manual pages
Index of all manual pages