fastrand-contrib

Crates.iofastrand-contrib
lib.rsfastrand-contrib
version0.1.0
sourcesrc
created_at2023-09-17 16:25:07.943757
updated_at2023-09-17 16:25:07.943757
descriptionExtension functionality for fastrand
homepage
repositoryhttps://github.com/smol-rs/fastrand-contrib
max_upload_size
id975210
size39,727
admins (github:smol-rs:admins)

documentation

README

fastrand

Build License Cargo Documentation

Extension functionality for the fastrand crate.

This crate contains code that may be of some use to users of fastrand. Code contained in this crate is not included in fastrand due to either the niche not being large enough to justify the new functionality or for semver concerns.

Usage

Various functions are exposed in this crate as top-level functions. These manipulate the global thread-local RNG and can be used without any local state. Note that these require the "std" default feature to be enabled.

use fastrand_contrib::f32_range;

let x = f32_range(1.5..3.0);
assert!(x >= 1.5 && x < 3.0);

To extend fastrand::Rng, import the [RngExt] trait.

use fastrand_contrib::RngExt;

Now, all new methods are available on fastrand::Rng.

use fastrand::Rng;
use fastrand_contrib::RngExt;

let mut rng = Rng::with_seed(0x1234);
let x = rng.f32_range(1.5..3.0);
assert!(x >= 1.5 && x < 3.0);

Features

  • std (enabled by default): Enables the std library. Freestanding functions only work with this feature enabled. Also enables the fastrand/std feature.
  • libm: Uses libm dependency for math functions in no_std environment.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 12

cargo fmt