pub fn uniform(n: u32) -> u32 { unsafe { super::ffi::random_uniform(n) } } pub fn shuffle(slice: &mut [T]) { // Fisher-Yates shuffle. for i in (1..slice.len()).rev() { let j = uniform(i as u32 + 1) as usize; slice.swap(i, j); } }