rdseed 0.1.0-beta.11

Rust interface for RDRAND / RDSEED CPU instructions
Documentation
// This is free and unencumbered software released into the public domain.
// SPDX-License-Identifier: CC0-1.0 OR Unlicense

// RDSEED 

#[test]
fn fill_numbers_seed_u16() {
   let mut data = [0u16; 16];
   // check if entire array is zero
   assert!(data.iter().all(|x| *x == 0), "Array not zeroed");
   rdseed::fill_numbers(&mut data, rdseed::get16);
   // check if at least one item is non zero
   assert!(data.iter().any(|x| *x != 0), "Array is all zero");
}

#[test]
fn fill_numbers_seed_u32() {
   let mut data = [0u32; 16];
   // check if entire array is zero
   assert!(data.iter().all(|x| *x == 0), "Array not zeroed");
   rdseed::fill_numbers(&mut data, rdseed::get32);
   // check if at least one item is non zero
   assert!(data.iter().any(|x| *x != 0), "Array is all zero");
}

#[test]
fn fill_numbers_seed_u64() {
   let mut data = [0u64; 16];
   // check if entire array is zero
   assert!(data.iter().all(|x| *x == 0), "Array not zeroed");
   rdseed::fill_numbers(&mut data, rdseed::get64);
   // check if at least one item is non zero
   assert!(data.iter().any(|x| *x != 0), "Array is all zero");
}

// RDRAND

#[test]
fn fill_numbers_rand_u16() {
   let mut data = [0u16; 16];
   // check if entire array is zero
   assert!(data.iter().all(|x| *x == 0), "Array not zeroed");
   rdseed::fill_numbers(&mut data, rdseed::rand::get16);
   // check if at least one item is non zero
   assert!(data.iter().any(|x| *x != 0), "Array is all zero");
}

#[test]
fn fill_numbers_rand_u32() {
   let mut data = [0u32; 16];
   // check if entire array is zero
   assert!(data.iter().all(|x| *x == 0), "Array not zeroed");
   rdseed::fill_numbers(&mut data, rdseed::rand::get32);
   // check if at least one item is non zero
   assert!(data.iter().any(|x| *x != 0), "Array is all zero");
}

#[test]
fn fill_numbers_rand_u64() {
   let mut data = [0u64; 16];
   // check if entire array is zero
   assert!(data.iter().all(|x| *x == 0), "Array not zeroed");
   rdseed::fill_numbers(&mut data, rdseed::rand::get64);
   // check if at least one item is non zero
   assert!(data.iter().any(|x| *x != 0), "Array is all zero");
}