use {
cfg_if::cfg_if,
core::num::NonZeroU16,
};
cfg_if! {
if #[cfg(feature = "wyrng")] {
pub use self::wyrng as default;
}
else if #[cfg(feature = "oorandom")] {
pub use self::oorandom as default;
}
else if #[cfg(feature = "fastrand")] {
pub use self::fastrand as default;
}
}
#[cfg(all(feature = "fastrand", feature = "std"))]
pub mod fastrand;
#[cfg(feature = "oorandom")]
pub mod oorandom;
#[cfg(feature = "wyrng")]
pub mod wyrng;
pub trait NumberGenerator: Default
{
fn rand_upto(
&mut self,
exclusive_end: NonZeroU16,
) -> u16;
}