-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Closed
Labels
FeatureIssue or pull request for adding a new feature.Issue or pull request for adding a new feature.Help WantedExtra attention is needed.Extra attention is needed.MathIssue or pull request specific to math functionality.Issue or pull request specific to math functionality.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.difficulty: 3Likely to be challenging but manageable.Likely to be challenging but manageable.
Description
Checklist
Please ensure the following tasks are completed before submitting a feature request.
- Read and understood the Code of Conduct.
- Searched for existing issues and pull requests.
- The issue name begins with
RFC:.
Description
Description of the feature request.
This RFC proposes implementing the 32-bit Mersenne twister pseudorandom number generator (PRNG). Should be similar in its API to @stdlib/random/base/minstd.
Package: @stdlib/random/base/mt19937
Alias: mt19937
Related Issues
Does this feature request have any related issues?
No.
Questions
Any questions for reviewers?
No.
Other
Any other information relevant to this feature request? This may include screenshots, references, sample output, and/or implementation notes.
- Original C implementation
- Python
- Boost: not a "good" reference implementation for the purposes of this package, but included here as an additional reference point.
- GSL (NOTE: due to licensing, cannot be used as a reference implementation, but included here as provides a historical window into prior seeding procedures)
- "Conversion of Mersenne Twister to double-precision floating-point numbers": paper on the merits of MT19937 algorithm of generating 53 bits of "randomness". Takeaway: not great, but, for the most part, acceptable. Additionally, as this algorithm is common in the wild, we should follow suit to preserve reproducibility.
Metadata
Metadata
Assignees
Labels
FeatureIssue or pull request for adding a new feature.Issue or pull request for adding a new feature.Help WantedExtra attention is needed.Extra attention is needed.MathIssue or pull request specific to math functionality.Issue or pull request specific to math functionality.RFCRequest for comments. Feature requests and proposed changes.Request for comments. Feature requests and proposed changes.difficulty: 3Likely to be challenging but manageable.Likely to be challenging but manageable.