kindness

github crates.io docs.rs build status

Methods for choosng random elements from an iterator.

Includes choose_item(), choose_max(), choose_max_by(), choose_max_by_key(), choose_min(), choose_min_by(), choose_min_by_key()

Does not allocate or iterate iterators more than once.
If you are confused by the name of the crate, think "random max of".


This crate works with Cargo with a Cargo.toml like:

toml [dependencies] kindness = "0.2.0" rand = "0.8.5"

Getting started

```rust use kindness::*; use rand::SeedableRng;

fn main() {
let mut rng = rand::rngs::StdRng::seedfromu64(123); let m =[3,2,1,2,3].iter().choosemax(&mut rng).unwrap(); asserteq!(*m, 3) } ```

Contributing

Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change.

Check out the Contributing section in the docs for more info.

License

This project is proudly licensed under the MIT license (LICENSE or http://opensource.org/licenses/MIT).

kindness can be distributed according to the MIT license. Contributions will be accepted under the same license.

Authors