PetscDTPermIndex#
Encode a permutation of n into an integer in [0, n!). This inverts PetscDTEnumPerm()
.
Input Parameters#
n - a non-negative integer (see note about limits below)
perm - the permuted list of the integers [0, …, n-1]
Output Parameters#
k - an integer in [0, n!)
isOdd - if not
NULL
, returns whether the permutation used an even or odd number of swaps.
Note#
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.
See Also#
PetscDTFactorial()
, PetscDTFactorialInt()
, PetscDTBinomial()
, PetscDTBinomialInt()
, PetscDTEnumPerm()
Level#
beginner
Location#
Index of all DT routines
Table of Contents for all manual pages
Index of all manual pages