Contents

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:
  1. 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].
  2. 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:
  1. VSL_BRNG_MCG31
  2. VSL_BRNG_R250
  3. VSL_BRNG_MRG32K3A
  4. VSL_BRNG_WH
  5. VSL_BRNG_SOBOL
  6. VSL_BRNG_NIEDERR
  7. VSL_BRNG_IABSTRACT
  8. VSL_BRNG_DABSTRACT
  9. VSL_BRNG_SABSTRACT

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804