1 // Copyright 2018 Developers of the Rand project. 2 // 3 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or 4 // https://www.apache.org/licenses/LICENSE-2.0> or the MIT license 5 // <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your 6 // option. This file may not be copied, modified, or distributed 7 // except according to those terms. 8 9 //! Convenience re-export of common members 10 //! 11 //! Like the standard library's prelude, this module simplifies importing of 12 //! common items. Unlike the standard prelude, the contents of this module must 13 //! be imported manually: 14 //! 15 //! ``` 16 //! use rand::prelude::*; 17 //! # let mut r = StdRng::from_rng(thread_rng()).unwrap(); 18 //! # let _: f32 = r.gen(); 19 //! ``` 20 21 #[doc(no_inline)] pub use crate::distributions::Distribution; 22 #[cfg(feature = "small_rng")] 23 #[doc(no_inline)] 24 pub use crate::rngs::SmallRng; 25 #[cfg(feature = "std_rng")] 26 #[doc(no_inline)] pub use crate::rngs::StdRng; 27 #[doc(no_inline)] 28 #[cfg(all(feature = "std", feature = "std_rng"))] 29 pub use crate::rngs::ThreadRng; 30 #[doc(no_inline)] pub use crate::seq::{IteratorRandom, SliceRandom}; 31 #[doc(no_inline)] 32 #[cfg(all(feature = "std", feature = "std_rng"))] 33 pub use crate::{random, thread_rng}; 34 #[doc(no_inline)] pub use crate::{CryptoRng, Rng, RngCore, SeedableRng}; 35