#random #rand #pcg #mwc

no-std pcg-mwc

A fast non-cryptographic psudo random number generator

3 unstable releases

0.2.1 Jun 7, 2021
0.2.0 Jun 7, 2021
0.1.0 May 25, 2021

#1914 in Algorithms

Download history 2/week @ 2024-02-19 232/week @ 2024-02-26 47/week @ 2024-03-04 22/week @ 2024-03-11 78/week @ 2024-03-18 133/week @ 2024-03-25 79/week @ 2024-04-01 16/week @ 2024-04-08 24/week @ 2024-04-15

255 downloads per month
Used in ahash

MIT/Apache

16KB
244 lines

Permuted Mwc random number generator

It is a member of the PCG family but uses an MWC generator instead of an LCG. This an MWC is special form of a MCG generator similar to the PGC-64-fast variant.

Compared to PGC-64-fast, Mwc256XXA64 is both faster and produces higher quality rand numbers (due to using the full 256bit state as opposed to only half of it.)

For a detailed description of the design, see: https://tom-kaitchuck.medium.com/designing-a-new-prng-1c4ffd27124d

Mwc256XXA64

A fast high quality PRNG with 64bits of output, and a 256bit state. This is faster on 64bit architectures.

Mwc128XXA32

A fast high quality PRNG with 32bits of output, and a 128bit state. This is faster on 32bit architectures.

Dependencies

~225KB