Just want to ask if there is a Fortran implementation of PCG random number generator.
That gist by @ivanpribec apparently. Maybe they have a newer version?
That PCG generator gist is linked to this thread from stdlib: Proposal for statistical distributions · Issue #234 · fortran-lang/stdlib · GitHub
There is also a Fortran wrapper from Daan Van Vugt: GitHub - DaanVanVugt/pcg32-fortran: A wrapper module for the pcg-random family of prng's
Also take a look at the NumPy documentation: Upgrading PCG64 with PCG64DXSM — NumPy v1.23 Manual. Apparently the simpler PCG64 generator has some deficiencies. Both Daan and I ported the PCG32 generator, which likely suffers from the same (if not worse) problems.
I encourage you to test any RNG implementation you find with, either
- Practically Random, or
- L’Ecuyer’s TestU01 (“Small Crush”, “Big Crush”),
but preferably both. Daniel Lemire wrote a blog post on Testing non-cryptographic random number generators and also provides a GitHub repository with the instructions needed: GitHub - lemire/testingRNG: Testing common random-number generators (RNG)
@mecej4 referred to these tests recently, in a separate Discourse thread.