Function bitwise::word::inner_perfect_unshuffle [] [src]

pub fn inner_perfect_unshuffle<T: Word>(x: T) -> T

Inner Perfect Unshuffle of x.

See also: Hacker's Delight: shuffling bits.

Examples

use bitwise::word::*;

let n = 0b1011_1110_1001_0011_0111_1001_0100_1111u32;
//        AaBb CcDd EeFf GgHh IiJj KkLl MmNn OoPp
let s = 0b0110_0101_1101_1011_1111_1001_0110_0011u32;
//        abcd efgh ijkl mnop ABCD EFGH IJKL MNOP,

assert_eq!(n.inner_perfect_unshuffle(), s);
assert_eq!(inner_perfect_unshuffle(n), s);