Skip to content

Latest commit

 

History

History
69 lines (48 loc) · 2.29 KB

README.md

File metadata and controls

69 lines (48 loc) · 2.29 KB

fastrand-contrib

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.