pub fn encode(xs: &[usize]) -> usize
Expand description
Returns the value of a combination.
The returned value can be decoded with decode
to get back xs
.
let k = xs.len();
let n = encode(xs);
assert_eq!(decode(n, k), xs);
§Panics
Panics in debug mode if xs
is not increasing.
§Examples
assert_eq!(encode(&[0, 1, 2]), 0);
assert_eq!(encode(&[0, 1, 3]), 1);
assert_eq!(encode(&[0, 2, 3]), 2);
assert_eq!(encode(&[1, 2, 3]), 3);
assert_eq!(encode(&[0, 1, 4]), 4);
assert_eq!(encode(&[0, 2, 4]), 5);