Skip to content

SamiPerttu/rand_krull

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sample with Confidence

  • High quality, non-cryptographic, medium-fast RNGs.
  • "Trivially strong" algorithms combining LCGs with a strong output hash.
  • 64-bit output, 192-bit (Krull64) or 256-bit (Krull65) state.
  • 2**64 (Krull64) or 2**128 (Krull65) pairwise independent streams of period 2**128.
  • Streams are equidistributed with each 64-bit number appearing 2**64 times.
  • Full state space with no bad states and no bad seeds.
  • Random access inside streams.
  • No unsafe code and no std required.
  • LCGs are run economically with 65-bit multipliers using 64-to-128-bit widening multiplies.

Krull64/65 are intended as non-cryptographic workhorse RNGs suitable for simulations and procedural content generation that are solid, easy to use, and have a full feature set.

Crate

This crate depends on rand_core, which is a part of the Rand project.

Serde support is opt-in, so enable the serde feature if you need it.

License

MIT

About

Krull64/65 random number generators

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages