Trait rand::distributions::range::SampleRange
[-] [+]
[src]
pub trait SampleRange { fn construct_range(low: Self, high: Self) -> Range<Self>; fn sample_range<R: Rng>(r: &Range<Self>, rng: &mut R) -> Self; }
The helper trait for types that have a sensible way to sample
uniformly between two values. This should not be used directly,
and is only to facilitate Range
.
Required Methods
fn construct_range(low: Self, high: Self) -> Range<Self>
Construct the Range
object that sample_range
requires. This should not ever be called directly, only via
Range::new
, which will check that low < high
, so this
function doesn't have to repeat the check.
fn sample_range<R: Rng>(r: &Range<Self>, rng: &mut R) -> Self
Sample a value from the given Range
with the given Rng
as
a source of randomness.
Implementors
impl SampleRange for i8
impl SampleRange for i16
impl SampleRange for i32
impl SampleRange for i64
impl SampleRange for isize
impl SampleRange for u8
impl SampleRange for u16
impl SampleRange for u32
impl SampleRange for u64
impl SampleRange for usize
impl SampleRange for f32
impl SampleRange for f64