Visible to Intel only — GUID: GUID-ECC2025A-4C67-44E7-9D2D-F37292C9BE3C
Visible to Intel only — GUID: GUID-ECC2025A-4C67-44E7-9D2D-F37292C9BE3C
UniformBits32 (VSL_RNG_METHOD_UNIFORMBITS32_STD)
A random number generator that produces uniformly distributed bits in 32-bit chunks.
Some basic random number generators produce integers in which not all of the bits are uniformly distributed, for example:
The least significant bits in the integers produced by MCG59 BRNG are less random. For example, the lower four bits form a congruential sequence with the period of, at most, 16; and the least significant bit is either constant or strictly alternating. For example, see [Knuth81].
By design, BRNGs do not produce the most significant bits setting them to zero. For example, MCG31m1 is a 31-bit generator, and MCG59 is a 59-bit generator.
The UniformBits32 function transforms the underlying BRNG integer recurrence so that all bits in 32-bit chunks are uniformly distributed.
This function does not support the following VS BRNGs:
VSL_BRNG_MCG31
VSL_BRNG_R250
VSL_BRNG_MRG32K3A
VSL_BRNG_WH
VSL_BRNG_SOBOL
VSL_BRNG_NIEDERR
VSL_BRNG_IABSTRACT
VSL_BRNG_DABSTRACT
VSL_BRNG_SABSTRACT