Skip to content

1.06

Choose a tag to compare

@alkino alkino released this 12 Feb 20:18
  • MicroURNG and GSL_MICROURNG no longer give the programmer control over the number bits in the internal counter via a template or macro argument. Such flexibility is too easy to misuse, with the possible consequence of repeating random values. Now, all MicroURNGs have a period in excess of 2^32, and MicroURNG(c1, k1) and MicroURNG(c2, k2) "collide" if and only if c1==c2 and k1==k2.
  • Added <Random123/u01.h> header file with static functions for conversion of integers to uniformly distributed floating point values.
  • Make operator<<(ostream&, const r123array&) and operator>>(ostream&, r123array&) inline. This should work around ODR violations when the header files are included in more than one file in a project.
  • Recognize that icpc has an _mm_set_epi64x intrinsic as of version 12.1.
  • The gsl adapters always return 32-bits of random data, regardless of the width of counter type.
  • Works around lack of anonymous enums in Intel OpenCL 1.5
  • gencl.sh works on MacOS and systems with "classic" BSD indent.
  • Tests run on AMD Radeon 7970 (Tahiti).
  • Added a known answer test for the u01 functions (kat_u01).
  • Defend headers against possible max and min macros in "system" header files.