1 // Copyright 2015 The Rust Project Developers. See the COPYRIGHT 2 // file at the top-level directory of this distribution and at 3 // http://rust-lang.org/COPYRIGHT. 4 // 5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or 6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your 8 // option. This file may not be copied, modified, or distributed 9 // except according to those terms. 10 11 extern crate rand; 12 13 mod _common; 14 15 use self::_common::{validate, SEED}; 16 use rand::{IsaacRng, Rng, SeedableRng}; 17 use std::mem::transmute; 18 main()19fn main() { 20 let mut rnd = IsaacRng::from_seed(&SEED); 21 let mut i = 0; 22 while i < 10_000_000 { 23 let bits = rnd.next_u64(); 24 let x: f64 = unsafe { transmute(bits) }; 25 if x.is_finite() { 26 validate(&format!("{:e}", x)); 27 i += 1; 28 } 29 } 30 } 31