Skip to main content

Crate rand

Crate rand 

Source
Expand description

Utilities for random number generation

Rand provides utilities to generate random numbers, to convert them to useful types and distributions, and some randomness-related algorithms.

§Quick Start

// The prelude import enables methods we use below, specifically
// Rng::random, Rng::sample, SliceRandom::shuffle and IndexedRandom::choose.
use rand::prelude::*;

// Get an RNG:
let mut rng = rand::rng();

// Try printing a random unicode code point (probably a bad idea)!
println!("char: '{}'", rng.random::<char>());
// Try printing a random alphanumeric value instead!
println!("alpha: '{}'", rng.sample(rand::distr::Alphanumeric) as char);

// Generate and shuffle a sequence:
let mut nums: Vec<i32> = (1..100).collect();
nums.shuffle(&mut rng);
// And take a random pick (yes, we didn't need to shuffle first!):
let _ = nums.choose(&mut rng);

§The Book

For the user guide and further documentation, please read The Rust Rand Book.

Re-exports§

pub use rand_core;

Modules§

distr
Generating random samples from probability distributions
prelude
Convenience re-export of common members
rngs
Random number generators and adapters
seq
Sequence-related functionality

Traits§

CryptoRng
A marker trait over RngCore for securely unpredictable RNGs
Fill
Types which may be filled with random data
Rng
User-level interface for RNGs
RngCore
Implementation-level interface for RNGs
SeedableRng
A random number generator that can be explicitly seeded.
TryCryptoRng
A marker trait over TryRngCore for securely unpredictable RNGs
TryRngCore
A potentially fallible variant of RngCore

Functions§

fill
Fill any type implementing Fill with random data
random
Generate a random value using the thread-local random number generator.
random_bool
Return a bool with a probability p of being true.
random_iter
Return an iterator over random() variates
random_range
Generate a random value in the given range using the thread-local random number generator.
random_ratio
Return a bool with a probability of numerator/denominator of being true.
rng
Access a fast, pre-initialized generator
thread_rngDeprecated
Access the thread-local generator