QuarkBurst (as a proprietary, source-available product of Eightomic) is the fast constrained 64-bit PRNG (non-cryptographic) that has a period of at least 2⁶⁴ (from a Weyl sequence), excellent statistical randomness quality test results (single-instance bitstreams passed Dieharder 3.31.1 dieharder -Y 1 -a -g 200 -k 2, NIST STS 2.1.2 assess 1000000 with 100 bitstreams, PractRand 0.96 RNG_test stdin -tlmin 1KB -tlmax 32TB -te 0 -tf 1, SmokeRand 0.47 smokerand full stdin64 and TestU01 1.2.3 BigCrush), low-footprint implementation (efficient memory usage and small code size), no auxiliary array allocations, no comparison/division/modulus/multiplication operators, reversibility (state rewinding), ultra-fast speed (relative to the aforementioned constraints) and up to 2⁶⁴ distinct parallel bitstreams (each with possible subtle cross-bitstream statistical correlations) that each have non-probabilistic full-state overlap avoidance with each other for a period of at least 2⁶⁴ (when each a state variable is seeded with a thread ID integer and the remaining state variables are seeded with 0).
QuarkBurst is implemented in C (requiring the stdint.h header to define an unsigned integral type for a 64-bit uint64_t).
The quarkburst function modifies the state in a struct quarkburst_state instance to generate a deterministic pseudorandom uint64_t integer (assigned to the c state variable).
Each state variable (a, b and c) in a struct quarkburst_state instance must be seeded before generating a deterministic quarkburst bitstream (that must discard the first 3 quarkburst results as a state warmup).
Each of the following results log the fastest process execution speed (in milliseconds) among several repetitions of a speed benchmark (with gcc -O0 from an AMD A4-9120C) that generates 100 million pseudorandom uint64_t integers in a blocking #pragma GCC unroll 0 loop.
Elapsed Mixing/Output/State Bits
quarkburst 799ms 192
biski64 944ms 384
sfc64 1052ms 384
