#random #no-alloc #generator #seed

no-std acorn_prng

A no_std, 0 dependency, pseudo-random number generator based on the ACORN algorithm

2 stable releases

3.0.1 Jul 20, 2023
3.0.0 Dec 12, 2022
2.0.1 Dec 10, 2022
2.0.0 Dec 9, 2022
1.0.1 Dec 8, 2022

#2969 in Algorithms

Download history 218/week @ 2025-01-05 171/week @ 2025-01-12 180/week @ 2025-01-19 339/week @ 2025-01-26 301/week @ 2025-02-02 292/week @ 2025-02-09 254/week @ 2025-02-16 382/week @ 2025-02-23 321/week @ 2025-03-02 323/week @ 2025-03-09 208/week @ 2025-03-16 257/week @ 2025-03-23 256/week @ 2025-03-30 222/week @ 2025-04-06 469/week @ 2025-04-13 398/week @ 2025-04-20

1,368 downloads per month

ISC license

31KB
353 lines

ACORN Pseudo-random Number Generator

This pseudo-random number generator is based on the ACORN algorithm.

It is a #![no_std] crate that does not require alloc and has no dependencies.

The numbers generated from this prng are not considered cryptographically secure.

Usage

Create a generator by specifying both the Order and the Seed. Allowing the user of this library to specify the starting data makes reproducability possible. If you do not require reproducable pseudo-random numbers then using the current time converted into a u128 for the Seed should provide sufficient randomness.

Then you can generate either a number of a fixed digit length or a number bewteen a specified range (inclusive).

Please see the Acorn struct documentation for examples.


acorn_prng

A no_std, 0 dependency, pseudo-random number generator library based on the ACORN algorithm. Not cryptographically secure.

Using this library

Add the following to the [dependencies] section of your Config.toml:

acorn_prng = "3.0.0"

Documentation

Documentation can be found here: https://docs.rs/acorn_prng

Acknowledgements

The ACORN algorithm is described here: http://acorn.wikramaratna.org/concept.html

No runtime deps