Crate flow_sdk::algorithms::secp256k1::rand[][src]

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

To get you started quickly, the easiest and highest-level way to get a random value is to use random(); alternatively you can use thread_rng(). The Rng trait provides a useful API on all RNGs, while the distributions and seq modules provide further functionality on top of RNGs.

use rand::prelude::*;

if rand::random() { // generates a boolean
    // Try printing a random unicode code point (probably a bad idea)!
    println!("char: {}", rand::random::<char>());
}

let mut rng = rand::thread_rng();
let y: f64 = rng.gen(); // generates a float between 0 and 1

let mut nums: Vec<i32> = (1..100).collect();
nums.shuffle(&mut rng);

The Book

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

Modules

Generating random samples from probability distributions.

Convenience re-export of common members

prngDeprecated

Pseudo-random number generators.

Random number generators and adapters for common usage:

Functions for randomly accessing and sampling sequences.

Structs

ChaChaRngDeprecated
EntropyRngDeprecated

Error type of random number generators

Isaac64RngDeprecated
IsaacRngDeprecated
OsRngDeprecated
StdRngDeprecated
ThreadRngDeprecated
XorShiftRngDeprecated

Enums

Error kind which can be matched over.

Traits

Trait for casting types to byte slices

A marker trait used to indicate that an RngCore or BlockRngCore implementation is supposed to be cryptographically secure.

A convenience extension to SeedableRng allowing construction from fresh entropy. This trait is automatically implemented for any PRNG implementing SeedableRng and is not intended to be implemented by users.

An automatically-implemented extension trait on RngCore providing high-level generic methods for sampling values and other convenience methods.

The core of a random number generator.

A random number generator that can be explicitly seeded.

Functions

Generates a random value using the thread-local random number generator.

Retrieve the lazily-initialized thread-local random number generator, seeded by the system. Intended to be used in method chaining style, e.g. thread_rng().gen::<i32>(), or cached locally, e.g. let mut rng = thread_rng();. Invoked by the Default trait, making ThreadRng::default() equivelent.