Back to Function index. Up to Contents. List of versions in reverse chronological order together with a brief list of changes.
- 2009-02
- RandomPermutation and shuffle accept -r option to undo a permutation or shuffle.
- Minor documentation fixes.
- 2008-11
- Changes to suppress warnings with g++ 4.3.
- Optional support for C++0X's static_assert.
- Document RandomPermutation and shuffle.
- Minor documentation fixes.
- 2008-04
- Reorganized so random algorithm and mixer can be selected independently. This eliminated a lot of duplicate code.
- This requires a new, incompatible, output format. Format is now independent of the current base of the stream.
- Name() now returns more informative name.
- SFMT19937 init_by_array mixer adopted for MT19937 generators. This is an incompatible change for the MT19937 generators. However it is possible to hook the MT19937 engine with the MixerMT1 mixers to recover the previous functionality using
- RandomEngine<MT19937<Random_u32>, MixerMT1<Random_u32> >
- RandomEngine<MT19937<Random_u64>, MixerMT1<Random_u64> >
- The way 32-bit results are glued together for to provide the Ran64() result is now LSB ordered. Previously the 32-bit version of MT19937 used MSB ordering here. This means that certain large integer results will be different for RandomEngine<MT19937<Random_u32>, MixerMT1<Random_u32> >
- Support Altivec instructions on PowerPC for SFTM19937. Also use longer long double on PowerPC.
- Add -s seed option to shuffle and RandomPermutation.
- Use strtoull (where available) instead of strtoul in convert a string seed to numeric form.
- Switch project files to MS Visual Studio 2005.
- Use SeedVector() instead of SeedWord() for the default constructor for Random.
- Make 32-bit version of SFMT19937 the default generator.
- 2008-01
- This is a maintenance release in anticipation of a forthcoming major restructuring of the code.
- Use table of powers of two for g++ 4.1.
- Minor documentation fixes.
- 2007-05
- Add SFMT19937 generators.
- Introduce RandomGenerator::Name() to identify generator.
- Change define used to make 64-bit generator the default.
- Add RandomSelect::Weight.
- Ensure portability to systems where uint32_t is longer than 32 bits.
- 2007-04
- Add utilities RandomPermutation and shuffle.
- Implement MSB ordering on binary I/O in a portable way.
- 2006-12
- Add leapfrogging. The output format needed to be changed to accommodate an extra word of data. However, I/O routines can still read the 2006-11 version.
- 2006-11
- Introduce RandomCanonical class which accepts the random generator as a template argument.
- This allows the inclusion of 32-bit and 64-bit versions of mt19937.
- Include checksum in I/O.
- Include boost serialization.
- 2006-10
- Make 64-bit ready so a 64-bit version of mt19937 can be dropped in.
- Fix a bug in the seeding. (This bug was trigged by seed length of 624 or greater; so it was unlikely to have been encountered in practice.)
- Stop the special case treatment for Random::IntegerC<T>(numeric_limits<T>::max()). In some cases (e.g., T = int) this now gives different (but equivalent) results.
- 2006-09
- Add ExponentialProb, ExactExponential, ExactPower, and RandomNumber.
- Fix weakness in the seeding algorithm. A given seed now gives a random sequence different from previous version; so this is an incompatible change.
- Restructure the documentation.
- Allow constructors to accept vectors of any integral type and constructors with a pair of iterators.
- 2006-08
- Improve efficiency of Integer(n) where n is a power of two.
Back to Function index. Up to Contents.