[−][src]Trait rand::Rand
A type that can be randomly generated using an Rng
.
Built-in Implementations
This crate implements Rand
for various primitive types. Assuming the
provided Rng
is well-behaved, these implementations generate values with
the following ranges and distributions:
- Integers (
i32
,u32
,isize
,usize
, etc.): Uniformly distributed over all values of the type. char
: Uniformly distributed over all Unicode scalar values, i.e. all code points in the range0...0x10_FFFF
, except for the range0xD800...0xDFFF
(the surrogate code points). This includes unassigned/reserved code points.bool
: Generatesfalse
ortrue
, each with probability 0.5.- Floating point types (
f32
andf64
): Uniformly distributed in the half-open range[0, 1)
. (TheOpen01
,Closed01
,Exp1
, andStandardNormal
wrapper types produce floating point numbers with alternative ranges or distributions.)
The following aggregate types also implement Rand
as long as their
component types implement it:
- Tuples and arrays: Each element of the tuple or array is generated
independently, using its own
Rand
implementation. Option<T>
: ReturnsNone
with probability 0.5; otherwise generates a randomT
and returnsSome(T)
.
Required methods
fn rand<R: Rng>(rng: &mut R) -> Self
Generates a random instance of this type using the specified source of randomness.
Implementations on Foreign Types
impl Rand for isize
[src]
impl Rand for i8
[src]
impl Rand for i16
[src]
impl Rand for i32
[src]
impl Rand for i64
[src]
impl Rand for usize
[src]
impl Rand for u8
[src]
impl Rand for u16
[src]
impl Rand for u32
[src]
impl Rand for u64
[src]
impl Rand for f64
[src]
fn rand<R: Rng>(rng: &mut R) -> f64
[src]
Generate a floating point number in the half-open
interval [0,1)
.
See Closed01
for the closed interval [0,1]
,
and Open01
for the open interval (0,1)
.
impl Rand for f32
[src]
fn rand<R: Rng>(rng: &mut R) -> f32
[src]
Generate a floating point number in the half-open
interval [0,1)
.
See Closed01
for the closed interval [0,1]
,
and Open01
for the open interval (0,1)
.
impl Rand for char
[src]
impl Rand for bool
[src]
impl Rand for ()
[src]
impl<A: Rand> Rand for (A,)
[src]
impl<A: Rand, B: Rand> Rand for (A, B)
[src]
impl<A: Rand, B: Rand, C: Rand> Rand for (A, B, C)
[src]
impl<A: Rand, B: Rand, C: Rand, D: Rand> Rand for (A, B, C, D)
[src]
impl<A: Rand, B: Rand, C: Rand, D: Rand, E: Rand> Rand for (A, B, C, D, E)
[src]
impl<A: Rand, B: Rand, C: Rand, D: Rand, E: Rand, F: Rand> Rand for (A, B, C, D, E, F)
[src]
impl<A: Rand, B: Rand, C: Rand, D: Rand, E: Rand, F: Rand, G: Rand> Rand for (A, B, C, D, E, F, G)
[src]
impl<A: Rand, B: Rand, C: Rand, D: Rand, E: Rand, F: Rand, G: Rand, H: Rand> Rand for (A, B, C, D, E, F, G, H)
[src]
impl<A: Rand, B: Rand, C: Rand, D: Rand, E: Rand, F: Rand, G: Rand, H: Rand, I: Rand> Rand for (A, B, C, D, E, F, G, H, I)
[src]
impl<A: Rand, B: Rand, C: Rand, D: Rand, E: Rand, F: Rand, G: Rand, H: Rand, I: Rand, J: Rand> Rand for (A, B, C, D, E, F, G, H, I, J)
[src]
impl<A: Rand, B: Rand, C: Rand, D: Rand, E: Rand, F: Rand, G: Rand, H: Rand, I: Rand, J: Rand, K: Rand> Rand for (A, B, C, D, E, F, G, H, I, J, K)
[src]
impl<A: Rand, B: Rand, C: Rand, D: Rand, E: Rand, F: Rand, G: Rand, H: Rand, I: Rand, J: Rand, K: Rand, L: Rand> Rand for (A, B, C, D, E, F, G, H, I, J, K, L)
[src]
impl<T> Rand for [T; 0]
[src]
impl<T> Rand for [T; 1] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 2] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 3] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 4] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 5] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 6] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 7] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 8] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 9] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 10] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 11] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 12] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 13] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 14] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 15] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 16] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 17] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 18] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 19] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 20] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 21] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 22] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 23] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 24] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 25] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 26] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 27] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 28] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 29] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 30] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 31] where
T: Rand,
[src]
T: Rand,
impl<T> Rand for [T; 32] where
T: Rand,
[src]
T: Rand,