#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

#2035 in Algorithms

Download history 39/week @ 2024-03-13 97/week @ 2024-03-20 121/week @ 2024-03-27 53/week @ 2024-04-03 16/week @ 2024-04-10 27/week @ 2024-04-17 45/week @ 2024-04-24 15/week @ 2024-05-01 22/week @ 2024-05-08 21/week @ 2024-05-15 44/week @ 2024-05-22 23/week @ 2024-05-29 37/week @ 2024-06-05 62/week @ 2024-06-12 51/week @ 2024-06-19 58/week @ 2024-06-26

211 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

~220KB