Function bitwise::word::outer_perfect_shuffle [] [src]

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

Outer Perfect Shuffle of x.

See also: Hacker's Delight: shuffling bits.

Examples

use bitwise::word::*;

let n = 0b0110_0101_1101_1011_1111_1001_0110_0011u32;
//        abcd efgh ijkl mnop ABCD EFGH IJKL MNOP,
let s = 0b0111_1101_0110_0011_1011_0110_1000_1111u32;
//        aAbB cCdD eEfF gGhH iIjJ kKlL mMnN oOpP,

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