#random #rng

cap-rand

Capability-based random number generators

72 releases (19 stable)

3.0.0 Jan 11, 2024
2.0.1 Jan 2, 2024
2.0.0 Jun 30, 2023
1.0.16 Jun 29, 2023
0.6.0 Nov 10, 2020

#78 in Algorithms

Download history 20659/week @ 2023-11-01 21598/week @ 2023-11-08 18047/week @ 2023-11-15 15495/week @ 2023-11-22 19365/week @ 2023-11-29 22940/week @ 2023-12-06 24350/week @ 2023-12-13 17312/week @ 2023-12-20 14482/week @ 2023-12-27 25335/week @ 2024-01-03 30197/week @ 2024-01-10 33054/week @ 2024-01-17 32286/week @ 2024-01-24 32208/week @ 2024-01-31 30400/week @ 2024-02-07 24918/week @ 2024-02-14

124,787 downloads per month
Used in 152 crates (3 directly)

Apache-2.0…

9KB
103 lines

cap-rand

Capability-based random number generators

Github Actions CI Status crates.io page docs.rs docs

The cap-rand crate provides a capability-based interface to random number generators via the rand crate.


lib.rs:

Capability-based random number generators

This corresponds to rand.

Capability-based APIs represent access to external resources as values which can be passed around between different parts of a program.

Two notable features are the OsRng and CapRng types, which wrap up access to the operating system entropy source in capability values.

This crate uses the existing rand::SeedableRng trait rather than having its own version, however while rand::SeedableRng is mostly just a pure interface, it provides a from_entropy function which directly reads from the operating system entropy source. To preserve the capability-based interface, avoid using rand::SeedableRng's from_entropy function on any of the types that implement that trait; use std_rng_from_entropy instead.

Dependencies

~335KB