Function number_encoding::factoradics::decode
source · [−]Expand description
Returns the permutation of the value p
to the slice xs
.
The returned permutation can be encoded with encode
to get back p
.
let xs = decode(&xs, p);
assert_eq!(encode(&xs), p);
See decode_mut
for a version that applies the permutation to the slice.
Panics
Panics in debug mode if xs
is not increasing or p
is out of range.
Examples
assert_eq!(decode(&[0, 1, 2], 0), &[0, 1, 2]);
assert_eq!(decode(&[0, 1, 2], 1), &[0, 2, 1]);
assert_eq!(decode(&[0, 1, 2], 2), &[1, 0, 2]);