[Idea]: expand support for additional pseudorandom number generators #5
Labels
difficulty: 4
Likely to be challenging with ambitious goals.
idea
Potential GSoC project idea.
priority: normal
Normal priority.
tech: javascript
Involves programming in JavaScript.
tech: nodejs
Requires developing with Node.js.
Idea
The goal of this idea is to implement a variety of PRNGs for use within stdlib to generate pseudorandom numbers. The project currently uses Mersenne Twister as its default PRNG; however, this PRNG, while common, is not ideal given its comparatively large internal state. Would be great to have a collection of PRNGs, such as PCG, Philox, Xorshift, and more.
Expected Outcomes
stdlib users will have a wide selection of PRNGs from which to choose from based on their individual needs and considerations. Having a large selection of PRNGs will useful when replicating the results of numerical simulations which may use a PRNG which is not one of the currently supported stdlib PRNGs. Additionally, a desired outcome would be if we could replace MT19937 with a new default PRNG.
Involved Software
No other software should be necessary. We may be a bit constrained based on 32-bit limitations in JS. This would not, however, stop us from implementing in C for use in generating arrays of random numbers.
Prerequisite Knowledge
JavaScript, Node.js. Familiarity with C/C++/Fortran would help.
Difficulty
Intermediate/Hard. Depends. Some PRNGs may be straightforward to implement. Others, not so much.
Project Length
175/350 hours. This idea can be adjusted according to needs and availability.
Potential Mentors
@kgryte @Planeshifter @Pranavchiku
The text was updated successfully, but these errors were encountered: