Releases: tfpf/mersenne-twister
Releases · tfpf/mersenne-twister
v1.1.0
- 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
tosudoku
.
- Terminology fix: the functions are called thread-safe (when they use local MT19937 objects) rather than reentrant.
v1.0.0
- Variadic macros removed.
- The
mt
argument is no longer optional, and must be set toNULL
while calling the C functions.
- The
- 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 tomt19937_shuf32
;mt19937_shuf64
added. - Seeders. Seeding with 0 using
mt19937_seed32
andmt19937_64
implemented properly. - Non-deterministic seeders.
mt19937_init32
andmt19937_init64
added. - Random range.
mt19937_span32
andmt19937_span64
added. - State mutation.
mt19937_drop32
andmt19937_drop64
added.
- Array shufflers.
- 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.
- Functions which use the internal MT19937 objects are in the
- 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.