rand
rand
rand | rand | |
---|---|---|
3 | 30 | |
234 | 1,591 | |
- | 0.8% | |
2.0 | 8.7 | |
10 months ago | 7 days ago | |
Go | Rust | |
Mozilla Public License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rand
-
We have getrandom at home
This may very well be a bit offtopic in the rust subreddit, but in case you need fast high quality non-crypto PRNG in Go, I've made one that I believe to be decent. It is unfortunate that math/rand is unlikely to significantly improve due to the backward compatibity and can't be recommended for anything non-trivial.
-
Alternative to math/rand and golang.org/x/exp/rand
I got a bit stuck trying to find a set of good permutation functions for all required bit widths; I've created an issue to collect information in one place.
rand
-
Build a password manager with Rust - Part 2
Now that we have different options to save a new password. We need to implement the logic for each. We'll start by generating a new password. Now, there are several ways to do this. You could use a existing crate that do it for you or build something yourself. I chose to use the rand crate. This is crate is a general-purpose random number generator. It will give us the foundation to randomly generate a password. I'd like to keep some freedom to custom the functionality later on, instead of relying on an existing crate. But feel free to use an existing crate 😉
-
We have getrandom at home
Making compatibility promises for distributions means they cannot take advantage of potential advancements in the field.
-
Blog Post: On Random Numbers
Defining an error type that is meaningful, portable, and compatible with no-std isn't straightforward. If the std lib's getrandom requires std, then just like that, rand and many other crates won't use it anyway. Using io::Result seems to me to face this challenge.
-
Hey Rustaceans! Got a question? Ask here (52/2022)!
Some wasm targets can’t generate random numbers at all but in the case of the book because you are using wasm in a browser you can use JS to generate random numbers. I believe there’s a way to get the rand crate to use JS as the backend for generating rand but its a bit more convoluted than the easy one-liner that the book suggests.
- Data-driven performance optimization with Rust and Miri
-
What crates are considered as de-facto standard?
rand
- Why Rust?
-
[Media] Nebulabrot rendered with Rust — Explanations in the comments
This uses rand and xcomplex to handle the mathematics, png to write image files, and dialoguer and indicatif for some pretty prompts and progress bars.
-
Do you ever use unsafe { .. } when not implementing custom data structures or interacting with external C code?
You can often achieve this without any unsafe by putting an assert!() on the length before the hot loop. For example, I got rid of some unsafe in rand that way.
-
Original source of `(seed * 9301 and 49297) % 233280` random algorithm?
This is a widely used method to map random integers to floating point numbers, but it has the disadvantage of wasting 1 bit of float mantissa precision.
On modern CPUs, its computational advantage over full-precision mapping methods, such as multiplication by a float, is not always clear [1].
[1] https://github.com/rust-random/rand/issues/416
What are some alternatives?
youtube-stalker-bot - A telegram bot that sends you a random video
fastrand - A simple and fast random number generator
cargo-xtask
fast-float-rust - Super-fast float parser in Rust (now part of Rust core)
winapi-rs - Rust bindings to Windows API
yew - Rust / Wasm framework for creating reliable and efficient web applications
cargo-fuzz - Command line helpers for fuzzing
rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266
log - Logging implementation for Rust
regex - An implementation of regular expressions for Rust. This implementation uses finite automata and guarantees linear time matching on all inputs.
rust-sdl2 - SDL2 bindings for Rust
rayon - Rayon: A data parallelism library for Rust