pif_Random.MersenneTwister

by Popisfizzy
An implementation of the MT19937 variant of the Mersenne Twister pseudorandom number generator, using the pif_Random protocol.
ID:2419932
 
ALPHA VERSION. FEATURES ARE SUBJECT TO CHANGE AND REVISION. BACKWARDS COMPATIBILITY NOT GUARANTEED!

Important note: This library depends on my pif_LongInt and pif_Random libraries.

This is an alpha release of my pif_Random.MersenneTwister library. I've been sitting on it for probably about a year and have some changes and optimizations I plan on implementing before a beta release, but I figured someone might have some use for it. At the moment it's a bit slower than I would like, but I have some plans on how to fix that.

Release Notes
Version alpha.1.20191223
  • Added documentation.
  • Separated pif_Random into its own library and removed "pif_Random.dm" from this library. This introduces a dependency to pif_Random.
  • Due to changes in the pif_Random protocol from the preliminary version originally used when developing this library—owing to deficiencies present in that preliminary version—the interface of this library has been entirely changed. It now reflects the new pif_Random protocol.
Version alpha.0.20190102
  • Initial release.
The MIT License
Copyright (c) 2019 Timothy "popisfizzy" Reilly

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.