# `rantz_random` A simple Rust library for generating random values using [fastrand](https://github.com/smol-rs/fastrand). Basically just a fastrand wrapper for a few additional types at the moment. Likely to grow over time. Designed for use with [Bevy](https://www.bevyengine.org). Can generate random values for: * i8-128 * u8-128 * f32 & f64 * Vec2/3/4, UVec2/3/4, and IVec2/3/4 (with the `bevy` feature) * Color (with the `bevy` feature) * Degrees, Radians, `Position2D`, and all the compasses (with the `spatial2d` feature) - Requires `rantz_spatial2d` Can generate random values in a range for: * i8-128 * u8-128 * f32 & f64 * Vec2/3/4, UVec2/3/4, and IVec2/3/4 (with the `bevy` feature) * Degrees, Radians, and `Position2D` (with the `spatial2d` feature) - Requires `rantz_spatial2d` Can shuffle anything `Clone + IntoIterator + FromIterator` as well as returning a random element, or random index. Also includes a `WeightedTable` class for use in weighted random generation. ## Usage Add to your `Cargo.toml`. Use `rantz_random::*;` to get access to the traits that define random generation. ## Determinism This crate relies on `fastrand` which is "deterministic". That is to say, for a given seed value, assuming system order is deterministic, the results will be deterministic. For gaurenteed determinism, any system that uses the features of this crate will need to be `.chain()`ed together when added to a Bevy app.