#random #isaac

no-std rand_isaac

ISAAC random number generator

4 releases (2 breaking)

0.3.0 Dec 18, 2020
0.2.0 Jun 12, 2019
0.1.2 Jun 6, 2019
0.1.1 Nov 26, 2018
0.1.0 Oct 17, 2018

#2125 in Algorithms

Download history 100957/week @ 2024-06-14 102689/week @ 2024-06-21 102146/week @ 2024-06-28 100517/week @ 2024-07-05 108709/week @ 2024-07-12 99277/week @ 2024-07-19 98721/week @ 2024-07-26 104166/week @ 2024-08-02 123547/week @ 2024-08-09 110349/week @ 2024-08-16 132692/week @ 2024-08-23 109769/week @ 2024-08-30 125130/week @ 2024-09-06 100321/week @ 2024-09-13 123608/week @ 2024-09-20 103619/week @ 2024-09-27

474,629 downloads per month
Used in 3,385 crates (26 directly)

MIT/Apache

47KB
716 lines

rand_isaac

Build Status Build Status Latest version Book API API Minimum rustc version

Implements the ISAAC and ISAAC-64 random number generators.

ISAAC stands for "Indirection, Shift, Accumulate, Add, and Count" which are the principal bitwise operations employed. It is the most advanced of a series of array based random number generator designed by Robert Jenkins in 1996[^1][^2].

ISAAC is notably fast and produces excellent quality random numbers for non-cryptographic applications.

Links:

[^1]: Bob Jenkins, ISAAC: A fast cryptographic random number generator [^2]: Bob Jenkins, ISAAC and RC4

Crate Features

rand_isaac is no_std compatible. It does not require any functionality outside of the core lib, thus there are no features to configure.

The serde1 feature includes implementations of Serialize and Deserialize for the included RNGs.

License

rand_isaac is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT, and COPYRIGHT for details.

Dependencies

~215KB