Skip to content

Releases: tfpf/mersenne-twister

v1.1.0

29 Jun 06:36
Compare
Choose a tag to compare
  • Seeder functions return the seed. This can be useful (especially in case of the non-deterministic seeder functions) for reproducibility.
  • Added C++ constructors for non-deterministic seeders.
  • Added installation support for Windows (MSYS2).
    • Should also work on Cygwin and Git Bash for Windows, but I have not tested them.
  • Fail with a proper error message if required fixed-width integers are not supported.
  • Simplified the installation instructions, which are identical on Linux and Windows (MSYS2).
  • Added a security policy.
  • C++ benchmark program changed to use a macro instead of templates.
    • The C++ functions are themselves templated, so they cannot be used as templates.
    • Using a macro gives more accurate running times.
  • Moved the sudoku generator and solver to the directory containing examples.
    • Made it slightly more efficient by seeding the PRNG only once.
    • Fixed a bug in spacing of displayed sudokus.
    • Renamed the main program from solve_sudoku to sudoku.
  • Terminology fix: the functions are called thread-safe (when they use local MT19937 objects) rather than reentrant.

v1.0.0

01 Jun 17:15
Compare
Choose a tag to compare
  • Variadic macros removed.
    • The mt argument is no longer optional, and must be set to NULL while calling the C functions.
  • Approximately doubled the size of the data segment of the shared object (increasing its actual size from about 21 KiB to about 30 KiB), but reduced the running time of most functions by nearly 25%.
  • C functions updated.
    • Array shufflers. mt19937_shuffle32 renamed to mt19937_shuf32; mt19937_shuf64 added.
    • Seeders. Seeding with 0 using mt19937_seed32 and mt19937_64 implemented properly.
    • Non-deterministic seeders. mt19937_init32 and mt19937_init64 added.
    • Random range. mt19937_span32 and mt19937_span64 added.
    • State mutation. mt19937_drop32 and mt19937_drop64 added.
  • C++ API expanded.
    • Functions which use the internal MT19937 objects are in the mt19937 namespace.
    • Functions which use user-provided MT19937 objects are methods of the objects.
    • Updates in C functions incorporated.
  • Python API expanded.
    • Seeders changed from optional-argument functions to single-argument functions.
    • Argument range checking implemented.
    • Updates in C functions (except array shufflers) incorporated.
  • Benchmark programs added.
  • Tests improved.

v0.0.1

07 May 15:47
Compare
Choose a tag to compare

First release.