1 #![feature(test)]
2 
3 extern crate test;
4 extern crate rand;
5 
6 const RAND_BENCH_N: u64 = 1000;
7 
8 mod distributions;
9 
10 use std::mem::size_of;
11 use test::{black_box, Bencher};
12 use rand::{StdRng, Rng};
13 
14 #[bench]
rand_f32(b: &mut Bencher)15 fn rand_f32(b: &mut Bencher) {
16     let mut rng = StdRng::new().unwrap();
17     b.iter(|| {
18         for _ in 0..RAND_BENCH_N {
19             black_box(rng.next_f32());
20         }
21     });
22     b.bytes = size_of::<f32>() as u64 * RAND_BENCH_N;
23 }
24 
25 #[bench]
rand_f64(b: &mut Bencher)26 fn rand_f64(b: &mut Bencher) {
27     let mut rng = StdRng::new().unwrap();
28     b.iter(|| {
29         for _ in 0..RAND_BENCH_N {
30             black_box(rng.next_f64());
31         }
32     });
33     b.bytes = size_of::<f64>() as u64 * RAND_BENCH_N;
34 }
35