1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
RIOT/sys/random
Benjamin Valentin 39b8cdf760 sys/random: default to musl LCG
In [0] the paper concludes with

> The Knuth LCG is the most efficient general purpose generator that
> provides decent statistical quality.
> It is simple and lean enough to run on very constrained devices.

So let's select `prng_musl_lcg` to be the default PRNG instead of
`prng_tinymt32`.

This gives a good chunk of memory on e.g. `samr21-xpro`:

prng_tinymt32
-------------

   text	   data	    bss	    dec	    hex	filename
  26452	    136	   2824	  29412	   72e4	tests/rng/bin/samr21-xpro/tests_rng.elf

prng_musl_lcg
-------------

   text	   data	    bss	    dec	    hex	filename
  26208	    136	   2808	  29152	   71e0	tests/rng/bin/samr21-xpro/tests_rng.elf

[0] https://sci-hub.se/10.1145/3453159
2021-11-11 19:59:26 +01:00
..
fortuna
tinymt32
doc.txt
fortuna.c
hwrng.c
Kconfig
Makefile
Makefile.include
mersenne.c
minstd.c
musl_lcg.c
random.c
shaxprng.c
tinymt32.c
xorshift.c