1 unstable release
0.1.0 | Sep 17, 2023 |
---|
#1830 in Algorithms
345 downloads per month
Used in 3 crates
(2 directly)
26KB
444 lines
fastrand
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 thestd
library. Freestanding functions only work with this feature enabled. Also enables thefastrand/std
feature.libm
: Useslibm
dependency for math functions inno_std
environment.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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.
Dependencies
~125KB