{"_id":"random-seedable","_rev":"10-aa71b78f0b3189f759d2212b59901eb1","name":"random-seedable","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.0":{"name":"random-seedable","version":"1.0.0","description":"Fully-fledged collection of seedable random number generators whose output precisely matches their original c/c++ implementations.","keywords":["Xorwow","Xorshift","LCG","random","number","generator","seedable","random-seedable","PCG","Mersenne","Twister","pseudorandom","prng","rng"],"main":"src/index.js","type":"module","directories":{"test":"test"},"scripts":{"benchmark":"node benchmark/index.js","test":"mocha test/*.js --check-leaks","coverage":"nyc mocha"},"repository":{"type":"git","url":"git+https://github.com/ChrisAkroyd/random-seedable.git"},"author":{"name":"Chris Akroyd"},"license":"MIT","bugs":{"url":"https://github.com/ChrisAkroyd/random-seedable/issues"},"homepage":"https://github.com/ChrisAkroyd/random-seedable#readme","dependencies":{},"devDependencies":{"chai":"^4.3.4","mocha":"^8.3.2","nyc":"^15.1.0"},"gitHead":"3ba050fef7021e8996e0ccfd6645fbb45cf83343","_id":"random-seedable@1.0.0","_nodeVersion":"16.2.0","_npmVersion":"7.14.0","dist":{"integrity":"sha512-6XIpWazevYGfPSyu+zSnbMJdIJgkzPwafe1ICz0lEvzdOohDfdkRKgQqMNoj4gGz9EPq0roYE7F6ytgWy9/RpQ==","shasum":"4ed8541f126bf1c9140eed26aa0764a22e3e22c9","tarball":"https://registry.npmjs.org/random-seedable/-/random-seedable-1.0.0.tgz","fileCount":11,"unpackedSize":23689,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpsATCRA9TVsSAnZWagAA/xoP/1ju1kcgSqAW7IzOOCo0\nztlkbf7OfzuzbZ69D9WdYkEgSCiGLAsi/9HLrWt2wrwAL3PzHwQjlYG1sTr7\n4vvpMKZMDzXpwtp0GiI874bI6BMbVD9+KHs3WSmucAhfkTiXChVfK51X4qNJ\nD0+2zmdOTyIEAdXKiAKU1AHcYniXv9mWcoJ6FcpXHxsP89RagW3ZpnfEPTzs\npmv+egVpp9sdt00efIj9d4Kv4ghG/Ug/GuyZhqKam6EEtlNolxdIz9nIEtWo\n4H+MSGGIsKxiQNQgf6wITiSBuIBdaCMdR/0UaJjGddhcniLlc/bm5ZliNWoZ\n8Sg8BqNDgsj5Mhs0Zv9x4kKETmSKj81IkLIJ0hsVfzkQ2QGNRAMRZ3H+bhT3\n+zEROp5msLtv4XsFUjIDhm86uQcSf6NygJ3f+f7CQr88NDemeVpCsMDeG9XD\nhRFerlufOn22xlv7mDD8yn/WUU004S+NSOTe20ZDxUXGdXCd9xGn3Xd1e/fg\ntmAHOTtmHgP19D9kCTWnqwKCk+DXHcoT3XJAq398JDiCMyIbN1qPyW4XCb1J\n17ftKeyvfM+ZLLHDls0ebiJwHL5v8LNDZdZdgUaGGLmaVbM0Z5iOlrp+XR7w\nl0KhI85tM0wCNL8FeFKtJwlxLxnRSh4y7NzJnmX/kZtBkjRrF3Ttbhbcnk/n\n8gcY\r\n=gIRB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCpui09YeOuSeQCGl2Ktcj7D8gi+UcB/JsGf2be+VvHJAIhAJ8Dhiw0lk5mgsCH79EDLwZ3YPRc+SWYVLKXeRlnyfHS"}]},"_npmUser":{"name":"cakroyd","email":"chris@chrisakroyd.com"},"maintainers":[{"name":"cakroyd","email":"chris@chrisakroyd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/random-seedable_1.0.0_1621540882616_0.5603611048184058"},"_hasShrinkwrap":false},"1.0.1":{"name":"random-seedable","version":"1.0.1","description":"Fully-fledged collection of seedable random number generators whose output precisely matches their original c/c++ implementations.","keywords":["Xorwow","Xorshift","LCG","random","number","generator","seedable","random-seedable","PCG","Mersenne","Twister","pseudorandom","prng","rng"],"main":"src/index.js","type":"module","directories":{"test":"test","src":"src","reference":"reference","benchmark":"benchmark","example":"examples"},"scripts":{"benchmark":"node benchmark/index.js","test":"mocha test/*.js","coverage":"nyc mocha --experimental-loader=@istanbuljs/esm-loader-hook"},"repository":{"type":"git","url":"git+https://github.com/ChrisAkroyd/random-seedable.git"},"author":{"name":"Chris Akroyd"},"license":"MIT","bugs":{"url":"https://github.com/ChrisAkroyd/random-seedable/issues"},"homepage":"https://github.com/ChrisAkroyd/random-seedable#readme","devDependencies":{"@istanbuljs/esm-loader-hook":"^0.1.2","chai":"^4.3.4","mocha":"^8.3.2","nyc":"^15.1.0"},"gitHead":"4929ed3306d2c07913e255cf8020d1408834ce41","_id":"random-seedable@1.0.1","_nodeVersion":"16.2.0","_npmVersion":"7.14.0","dist":{"integrity":"sha512-77fKw9Y4ys2hmhYlW9b9wlTQvXfr8ft+BCOXrKqRCF5gyOj7Xe3DDxL+mIp/rTqBtHtt6DmNZbOLOaCQTRuYwA==","shasum":"905c819bf94383f8cca8d3115043e75037896c2e","tarball":"https://registry.npmjs.org/random-seedable/-/random-seedable-1.0.1.tgz","fileCount":11,"unpackedSize":23857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp8LZCRA9TVsSAnZWagAAmwsP/iWF0bBruyDbuT5MUVsP\nupGK/EIkki1mYYLv4o8Gb/HGeHtL/gaeg49B5S0ffyNb551YIA1tMoG2N7KW\n69BsdvHy6JgtNu4t/7DEJIFWXiS6ZQHNqO2No5MOUo0rluUDV9MDgDHz+qYd\nRgouFewp+knWnlnQnu8cxGfLUva5hYyNGYFx6LmqhGwpEISzJIeD4lurLxuN\nRLs3fId7wVx6ZZBbKPML2Igh6kQ7AeOsIJFJQYHlj4WSjB8DLL5v77U5Ws3J\nFSIR+A3vAOqwK6538dtUqOX17TEgK93ej6lCyJOMgyzrYnfcRdqfl8gsyXpI\nhZ6ZBmsO1HM52h6/T/wyWy7GE2y6URk6h2v4oZPp0EKxP5AH8a8vcL76yLx3\nxt2pojGLn6BRAGnr8GCnh5/qiWmrXVcPANP8BkF3RPkegXkHm8onktfybfSg\nMCtXdmpnGfRim/TepABoHOUZP9/MYYwHen+dFyUtsP02Ap/WMhOxTTvDPlbx\nLILMWg6eSxxjANOHRqSlB6IPXIKXtFDJJCMJ7EEtjCZaZkCTHA7BCRGP1gG3\ntWsWQZhGYgH/HzAVfXcEywyASc19MEvtzK2zBpAlpTBbal32ZeMibZ/qE7wS\nO7PoXjL6UPMNfvxvz+tx8+83kl0Oi0UAeXJYFo+0wNJifNxOQeTi+vpRGJwr\nWqvy\r\n=3VKZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICyEcHnwGKBUkOFFqm2m7OR9W1bDbsecd1Vqx0KQM4x2AiAd5NvV4W3s/+Cd3nUR8RUR85Cn55W9LaTdptSdnf+IAQ=="}]},"_npmUser":{"name":"cakroyd","email":"chris@chrisakroyd.com"},"maintainers":[{"name":"cakroyd","email":"chris@chrisakroyd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/random-seedable_1.0.1_1621607128540_0.6515806665473161"},"_hasShrinkwrap":false},"1.0.2":{"name":"random-seedable","version":"1.0.2","description":"Fully-fledged collection of seedable random number generators whose output precisely matches their original c/c++ implementations.","keywords":["Xorwow","Xorshift","LCG","random","number","numbers","generator","seedable","random-seedable","PCG","Mersenne","Twister","pseudorandom","prng","rng"],"main":"src/index.js","type":"module","directories":{"test":"test","src":"src","reference":"reference","benchmark":"benchmark","example":"examples"},"scripts":{"benchmark":"node benchmark/index.js","test":"mocha test/*.js","coverage":"nyc --reporter=lcov mocha --experimental-loader=@istanbuljs/esm-loader-hook"},"repository":{"type":"git","url":"git+https://github.com/ChrisAkroyd/random-seedable.git"},"author":{"name":"Chris Akroyd"},"license":"MIT","bugs":{"url":"https://github.com/ChrisAkroyd/random-seedable/issues"},"homepage":"https://github.com/ChrisAkroyd/random-seedable#readme","devDependencies":{"@istanbuljs/esm-loader-hook":"^0.1.2","chai":"^4.3.4","eslint-config-airbnb":"^18.2.1","eslint-plugin-import":"^2.23.2","mocha":"^8.3.2","nyc":"^15.1.0"},"gitHead":"fb97af2be3c197dfabfd709dc681901268c90e71","_id":"random-seedable@1.0.2","_nodeVersion":"16.2.0","_npmVersion":"7.14.0","dist":{"integrity":"sha512-k5GsbLr7F/BoCHTepANDTVB2dh8P6KNhEovZXTbehYcXSFLGwhvEHL3okgFMx7RQbsaIpdOF7SpENZ9wvVtIQQ==","shasum":"e56509be465f3d8c1b8dc219552a2de22e525bba","tarball":"https://registry.npmjs.org/random-seedable/-/random-seedable-1.0.2.tgz","fileCount":11,"unpackedSize":23874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgqkaRCRA9TVsSAnZWagAAUNsQAJB1qaCUOkcLDuFACvrM\nQJTuIrnnMgdgW+NLV0ORo/OKpTI400f+AG3H78+7jar3HVBFjz7HZgx/Bg0e\n0EJiEFFr9TBk6g26CvLlPhXt8yNCdRB/In387c/wELVKtFcjy368Q8zan1IQ\nCl3ROHvtPQY7W5ZX6fS4T9yy842hb+FRLBVhU+WGejfgvsDR1eyJ2YLpyjQB\nWN/4rzzPW2cFo+pvWOphDw+vtYZAX4Uy56m2O8gT5EtexoBqQPynsFh0fi1N\npLqBD6OTYJpy04Va11RzzDqgi+lCBRx+FQRt5jaU/J8NhDKAmfXPc8F85BTc\nyUSJCoAhsQTo2qo5tW8pG+ER4yVBZBLv+354V6TerrSVSFRIXxGe3NVKOz3d\nlPBTwcP5hhFGXyYJccytd+GDM9Zxp7TFcAYWTvwRqXKYv/pyQfYEs9+SyNoD\nz9Hch9Oh34MkVIbkDTKvCyJ8FcF0IM3XgtlP9DUi6YqILa1ZrC/BcK23Sp5B\nqTaJGML10G2SytQfG3XFG2rrX2EgmsUUnLQlSjjiSBpbHcNVIjnjG6qcx34y\nLSr6mbMjkHlfC/a1qxQXg6ZnGWORffqoFnQXIMj4xMizkb6nR8znMfD3rc4p\nDQlxHCrVhPd1yJImhW3/0Q3rgkCMuRSYqngCM2D1F2q5j5zoFu9SoYjER9qK\nDk+t\r\n=vSrH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHXfksLLKOzMlg4Ik3MmO/y7lJFXARDOLSForUZrA1x+AiEAz8eVbo3KuWyIUODkCqGoIIpyjag8QEp4lrOo8jdloU4="}]},"_npmUser":{"name":"cakroyd","email":"chris@chrisakroyd.com"},"maintainers":[{"name":"cakroyd","email":"chris@chrisakroyd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/random-seedable_1.0.2_1621771921139_0.024155068455009143"},"_hasShrinkwrap":false},"1.0.3":{"name":"random-seedable","version":"1.0.3","description":"Fully-fledged collection of both 32 and 64 bit seedable random number generators whose output precisely matches their original c/c++ implementations.","keywords":["Xorwow","Xorshift","LCG","random","number","numbers","generator","seedable","seed","random-seedable","PCG","Mersenne","Twister","pseudorandom","prng","rng","plus","128","64","32","bit","Xorshift64","Xorshift128","Xorshift128+"],"main":"src/index.js","type":"module","directories":{"test":"test","src":"src","reference":"reference","benchmark":"benchmark","example":"examples"},"scripts":{"benchmark":"node benchmark/index.js","test":"mocha test/*.js","coverage":"nyc --reporter=lcov mocha --experimental-loader=@istanbuljs/esm-loader-hook","local-coverage":"nyc mocha --experimental-loader=@istanbuljs/esm-loader-hook"},"repository":{"type":"git","url":"git+https://github.com/ChrisAkroyd/random-seedable.git"},"author":{"name":"Chris Akroyd"},"license":"MIT","bugs":{"url":"https://github.com/ChrisAkroyd/random-seedable/issues"},"homepage":"https://github.com/ChrisAkroyd/random-seedable#readme","devDependencies":{"@istanbuljs/esm-loader-hook":"^0.1.2","chai":"^4.3.4","eslint-config-airbnb":"^18.2.1","eslint-plugin-import":"^2.23.2","mocha":"^8.3.2","nyc":"^15.1.0"},"gitHead":"b0f74aa12748d80bd0e766e4239a7405418a63f2","_id":"random-seedable@1.0.3","_nodeVersion":"16.2.0","_npmVersion":"7.14.0","dist":{"integrity":"sha512-MkXZ4Llg7MS/6OUxSAopSgmbH3nDE7RwBmlLuN5bggNnyQlH3GEFyRrfh0FG9W9gw0LLfUE8jzajSq257c4qbA==","shasum":"a527393e9ca3e46801d70cf3b7836eb5a208b5d0","tarball":"https://registry.npmjs.org/random-seedable/-/random-seedable-1.0.3.tgz","fileCount":15,"unpackedSize":28935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt1yoCRA9TVsSAnZWagAANi0P/0UbRxlxuO3f2n1GduPX\n/7ohLpAs+e7JdLhCgav77BQ2vh4yHWm/y/3uuKQ3P/DkL1z0f+JFA1qTY//f\nfU7YyN4DyqyBbq3KaWcIK5cUs7otTSx1UybX73Jj7uVCrt+h5Q5bCRmtsvqU\n2WrfuozHyplaPJffoQzt/bYZi9djVcLznx0xR2uPsGPRwAhSPGNEoH/wjzvN\nO/jZK8OMzBRfaSEkO2ylFhoq6Qxv8loZJIgxq56AvZI9HRUvKPJBSoM4L14+\n/o2ShHRLW+VM3ULcnWN5jlpYnkpVYEDTtYuec6+XO6ef81DDMsuLkqjytfaM\njuxk7F8cfTc70ax/XNVgErT3aUqFiduxBtNgtY1vVpydpVtBbCVO7B3ghyiU\nV74kq+pRS3FJKAJkVVDAqZ4WG7wNjH3KMwzffNKe7Djp4JpgzL0z8lTO/rCw\nzJmxIM1vKiqXVcibAv5MArpbul6bbCla0o/P0jVMSKJ7+5bke3gi2N3DIRL8\nHJuKdMeLLnvIWspeJjRW2PAyGpquLvA5l5AJ8mOGbMQFUmMPRLjIKZbzvawF\nhGO6qSyMgc4slXhA9Cq3cskqBZymE5r6husRKO2AMa0wplyQLd1TK4oogCnT\nOrHnLos04xfpBny29Sti6tu7LKMSHaZClNqXPZ1cBNuXjmZIQqicoL1LFVHn\nL0V/\r\n=9qjl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBEKO8WOnFCkFEjhjdpRDQnMax1ZgrRL2C/2yIAEzg68AiAEPyEjWJNU67D63s5bUJBBslxH+ijSA9lXuLrMZON0kA=="}]},"_npmUser":{"name":"cakroyd","email":"chris@chrisakroyd.com"},"maintainers":[{"name":"cakroyd","email":"chris@chrisakroyd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/random-seedable_1.0.3_1622629543501_0.7543209407020419"},"_hasShrinkwrap":false},"1.0.4":{"name":"random-seedable","version":"1.0.4","description":"Fully-fledged collection of both 32 and 64 bit seedable random number generators whose output precisely matches their original c/c++ implementations.","keywords":["Xorwow","Xorshift","LCG","random","number","numbers","generator","seedable","seed","random-seedable","PCG","Mersenne","Twister","pseudorandom","prng","rng","plus","128","64","32","bit","Xorshift64","Xorshift128","Xorshift128+"],"main":"src/index.js","type":"module","directories":{"test":"test","src":"src","reference":"reference","benchmark":"benchmark","examples":"examples"},"scripts":{"benchmark":"node benchmark/index.js","test":"mocha test/*.js","coverage":"nyc --reporter=lcov mocha --experimental-loader=@istanbuljs/esm-loader-hook","local-coverage":"nyc mocha --experimental-loader=@istanbuljs/esm-loader-hook"},"repository":{"type":"git","url":"git+https://github.com/ChrisAkroyd/random-seedable.git"},"author":{"name":"Chris Akroyd"},"license":"MIT","bugs":{"url":"https://github.com/ChrisAkroyd/random-seedable/issues"},"homepage":"https://github.com/ChrisAkroyd/random-seedable","devDependencies":{"@istanbuljs/esm-loader-hook":"^0.1.2","chai":"^4.3.4","eslint-config-airbnb":"^18.2.1","eslint-plugin-import":"^2.23.2","mocha":"^8.3.2","nyc":"^15.1.0"},"gitHead":"73dc93d7dfce794957e67b7a32acf6745096e67b","_id":"random-seedable@1.0.4","_nodeVersion":"16.2.0","_npmVersion":"7.14.0","dist":{"integrity":"sha512-pe6Xx4Iw/3sfuYGSnYgJbgfGHmgcCVzRIX1ZG/jVVpH0qnw5XajppVv62kVjyUzJpdymolJiV+Alx3xrurV0rA==","shasum":"41e6708634f8212c3e24ea8fcac25005a53893d0","tarball":"https://registry.npmjs.org/random-seedable/-/random-seedable-1.0.4.tgz","fileCount":52,"unpackedSize":217845,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0ep+CRA9TVsSAnZWagAAE8QP+wUu38xpzxHdo1wfK170\n+4AlOc4Kj2QWTgny0gy/HzWiici2NiBiK4T5buJDysHXxTYReRdf88QZo7V5\ntWVu22XuHls33Aew1dEfLrgdpK8GSxBzftSkVZdCAQAY8io6UNZ7/7yN26r6\nbMZLsCiagIjfXi7EEJVyQ0bflRJAMyzCvyQefV7QffUnJsWL5iQpqULHF1u/\nvRr3r+3lumlW7qk1Xd/Eab7bezmik+Az6RAVnTYTsMHSeD7nsD7QzQ3QHERG\ntvso/aIlNrzod6Wz06/Fmh9huTzTpZrx+Ecc/490pPHX2p7ENMFWecaOPBnL\n5ZGGhNaorwsXz4SUNUeP+kMyqYyV3Xlg7MYKCwTKi5fqP5cf2JC/9lde8UxM\nB0ezkmMLk6d+Qx4JruTBpWS2aSBPrrgb8Kj9aqtLZyqhv6el9sF4kTPyfS1Q\n/j2BcJssDef6PujQ9k7xO5xlA2n4+7/eJkaf/oSvtr/Zsiop7HvBkMyaI+Ym\nW/sa30cDheZV4y6zTYaSxvDKc5bn3WY6j12wgrO5+tDK6UH4ip4F6Rf4v28Q\njNugQNqxzqghXRx8tf3Nv0104FzHa5SMk2omY9tMQhjaei5S2bEdso2jbjY8\nlagdub9ru4fDAhHoviuHAd4DCbsSTCEbpIwvqbTCQhCqiE581rzus+atpTMj\nvpAb\r\n=hS14\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCT+qJ0OvKRQbkdMTG1SGAOrtOl40RxLm/r4jq3cEo0eQIhAKBMqQv0wk5cckqaFvY8KyyKddXh4K0LY0xAStum1qio"}]},"_npmUser":{"name":"cakroyd","email":"chris@chrisakroyd.com"},"maintainers":[{"name":"cakroyd","email":"chris@chrisakroyd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/random-seedable_1.0.4_1624369789933_0.24495209514752014"},"_hasShrinkwrap":false},"1.0.5":{"name":"random-seedable","version":"1.0.5","description":"Fully-fledged collection of both 32 and 64 bit seedable random number generators whose output precisely matches their original c/c++ implementations.","keywords":["Xorwow","Xorshift","LCG","random","number","numbers","generator","seedable","seed","random-seedable","PCG","Mersenne","Twister","pseudorandom","prng","rng","plus","128","64","32","bit","Xorshift64","Xorshift128","Xorshift128+"],"main":"src/index.js","type":"module","directories":{"test":"test","src":"src","reference":"reference","benchmark":"benchmark","examples":"examples"},"scripts":{"benchmark":"node benchmark/index.js","test":"mocha test/*.js","coverage":"nyc --reporter=lcov mocha --experimental-loader=@istanbuljs/esm-loader-hook","local-coverage":"nyc mocha --experimental-loader=@istanbuljs/esm-loader-hook"},"repository":{"type":"git","url":"git+https://github.com/ChrisAkroyd/random-seedable.git"},"author":{"name":"Chris Akroyd"},"license":"MIT","bugs":{"url":"https://github.com/ChrisAkroyd/random-seedable/issues"},"homepage":"https://github.com/ChrisAkroyd/random-seedable","devDependencies":{"@istanbuljs/esm-loader-hook":"^0.1.2","chai":"^4.3.4","eslint-config-airbnb":"^18.2.1","eslint-plugin-import":"^2.23.2","mocha":"^8.3.2","nyc":"^15.1.0"},"gitHead":"e6f8f1db5a69aa509182c3a5a42ab510401cd7f4","_id":"random-seedable@1.0.5","_nodeVersion":"16.2.0","_npmVersion":"7.14.0","dist":{"integrity":"sha512-1LDODp8Jm2bwJ03pY6NlLb3jpD+cvNFZUJBHrWXaN7x3QJ+r0zg9yMKaUlJU1QHxiNSSAvcbuEZa0xodty055w==","shasum":"c613eea3be29b2832efdda9434d30dd14ccdc47d","tarball":"https://registry.npmjs.org/random-seedable/-/random-seedable-1.0.5.tgz","fileCount":29,"unpackedSize":70593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg0etlCRA9TVsSAnZWagAARM0QAIHlUMTlIuQ0EtZuw16W\n+fqaYo+uc+rhABHkt3OFWOJJzX5IlLtMS+/JqV4cACql7b3c3y5cuF/I88dm\nxzfXwvkaRYwp32ep/QzDiFXf8CXNh+nMGkXqVQ3729FxF6T/PR+inTbOflnX\nj0TFIPKX2Hqo8Qqo3s30gQTxb2K+rJT3ucus1ZBfpmNwA+A4AxFHM/lcxYu0\nKzRyZPMbw8IRTuHq37ftzT+cBvKVbXu0lB1Nt4RBM60DO+ZgnSwVsc+tioHD\nxQgSLTyyllj0/U69F0HcZOYb1UudW/YZm5UfQommUAUg1XWMXVK2k1zVQdjx\nWYu50zSZOn2v14rcZl+8YoFqRZoTamEF9lDNSXkhqOORzDNhxcplTLbl1NiB\nnBeCeHMcU1XcpSezrjQnSO919vFreb19A9jwkU4xQ3zp6WXJiHcE5g1Uil0r\nyTzUSrf5zhYmKQS+wfT/PvmQJur1f/wspOtsCzknGPedwiyaJnCNZbP4NPMD\nE0acx6a9fGgPpScoT5hwGnYaqx6r6P0ugNUs+IoOA/aWFMjP94b4F90KQoou\nhE73UaN0ILl2mfiu+RuGd4suSsBlj0eEuVfct25ZXwP/ljUC6bS0f8ExbcDy\nQznt22QcUuONZbh2x4L3XnBu1wGgFaveuuwT62TMjwsvFvSGXiS0hqX3LKA6\nEz9V\r\n=urCc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8c061cHDtMKYaInSidJbtVKW6KaFwrt+TrgfYvN/+BAIgdTxKclL8IARY4h8bxasHSWfElIbS2hcvRtZGNP5XSVI="}]},"_npmUser":{"name":"cakroyd","email":"chris@chrisakroyd.com"},"maintainers":[{"name":"cakroyd","email":"chris@chrisakroyd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/random-seedable_1.0.5_1624370020560_0.955943522377354"},"_hasShrinkwrap":false},"1.0.6":{"name":"random-seedable","version":"1.0.6","description":"Fully-fledged collection of both 32 and 64 bit seedable random number generators whose output precisely matches their original c/c++ implementations.","keywords":["Xorwow","Xorshift","LCG","random","number","numbers","generator","seedable","seed","random-seedable","PCG","Mersenne","Twister","pseudorandom","prng","rng","plus","128","64","32","bit","Xorshift64","Xorshift128","Xorshift128+"],"main":"src/index.js","type":"module","directories":{"test":"test","src":"src","reference":"reference","benchmark":"benchmark","examples":"examples"},"scripts":{"benchmark":"node benchmark/index.js","test":"mocha test/*.js","coverage":"nyc --reporter=lcov mocha --experimental-loader=@istanbuljs/esm-loader-hook","local-coverage":"nyc mocha --experimental-loader=@istanbuljs/esm-loader-hook"},"repository":{"type":"git","url":"git+https://github.com/ChrisAkroyd/random-seedable.git"},"author":{"name":"Chris Akroyd"},"license":"MIT","bugs":{"url":"https://github.com/ChrisAkroyd/random-seedable/issues"},"homepage":"https://github.com/ChrisAkroyd/random-seedable","devDependencies":{"@istanbuljs/esm-loader-hook":"^0.1.2","chai":"^4.3.4","eslint-config-airbnb":"^18.2.1","eslint-plugin-import":"^2.23.2","mocha":"^8.3.2","nyc":"^15.1.0"},"gitHead":"e05a89d6d9ff97e626436563f8ab77c0d4446c64","_id":"random-seedable@1.0.6","_nodeVersion":"16.2.0","_npmVersion":"7.14.0","dist":{"integrity":"sha512-wj0n8NT4iRyP0fyj75alAgYsctDljG6BoaLBbmd/04sMU8kYhD7hJs8Fbh/nSITt2suW0eN5k/Q0hnR7AH4J2A==","shasum":"a107f75430bdf5deddb7eeefd29510e519cc6430","tarball":"https://registry.npmjs.org/random-seedable/-/random-seedable-1.0.6.tgz","fileCount":29,"unpackedSize":73242,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6wbtCRA9TVsSAnZWagAAKKIP/3Jq9upGikJ5Cp1JagX/\nt/l5VdrY1Or9p4c3zyHLVAn/4w1ny8+0OpepfGxZweJSuHZf7fkArc8CMYe/\n78Hm+XNEO+glxwf9Nym/XXccw4qJI9GDCnsGqINBrIhr5tSvD8OTVok97Ruu\n2hSDHDgChKQRi+sw8fE+Y2hHS3f2ELDHh8uVUjy/QEl1XK/PAdsuSxFLF8Vf\nTphHr83wBk8tRzzFgUyHnQwFrqaoUeEyZcMR0TWCNzlZF1pkq1KjFduDFtkc\nFVjBaLC8nbM2mEwcgQYy+Pr6/jRpKlpCSXlddZuciOuouRdTHTWpcS8vhiG7\nCd9FEvz2/AMN1dk8cisy6Y0/g6L1fkMt/NtX3d0P36OrbE6XiYb6aGChHrWX\nIND1O8a3DchUB5YVsguJAyO1Ma/Xgo4w89Ihq8rwe2h5ZF0WW82kRUE8yJJa\nV/Sn/e7ZO3+UZykuGuaQYEZwm2hcqJW+dU+QObNOaeQpswNGtGLSBUawHuaB\ncP8GV523un6dKuTnoTX6kPt9zpyqBDlozO2+62SzBKtqIF0jtcIH/50xMFk9\nuwSStlB1crQwpBPRjwjZhlZLe86lICWRXrCNVRCljhkGqD60ViguOtGQ1gXO\nDnO1qHtP4dcKzvgRNiFMC5OxY6M5J15QPR7xjl/lfBhEU8LOBvXoggBulR6n\nRZro\r\n=RUPa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbCSdjgi74+eCyuQQH9VTi8kLWmiGg+d1Q2xeDB2OTiwIgMjnvXlVCeHhOdL2u8tmjWR4473rx361FcRv6wc7nMoE="}]},"_npmUser":{"name":"cakroyd","email":"chris@chrisakroyd.com"},"maintainers":[{"name":"cakroyd","email":"chris@chrisakroyd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/random-seedable_1.0.6_1626015468581_0.13267446052364806"},"_hasShrinkwrap":false},"1.0.7":{"name":"random-seedable","version":"1.0.7","description":"Fully-fledged collection of both 32 and 64 bit seedable random number generators whose output precisely matches their original c/c++ implementations.","keywords":["Xorwow","Xorshift","LCG","random","number","numbers","generator","seedable","seed","random-seedable","PCG","Mersenne","Twister","pseudorandom","prng","rng","plus","128","64","32","bit","Xorshift64","Xorshift128","Xorshift128+"],"main":"src/index.js","type":"module","types":"./@types/index.d.ts","directories":{"test":"test","src":"src","reference":"reference","benchmark":"benchmark","examples":"examples"},"scripts":{"benchmark":"node benchmark/index.js","test":"mocha test/*.js","coverage":"nyc --reporter=lcov mocha --experimental-loader=@istanbuljs/esm-loader-hook","local-coverage":"nyc mocha --experimental-loader=@istanbuljs/esm-loader-hook","build-types":"npx tsc"},"repository":{"type":"git","url":"git+https://github.com/ChrisAkroyd/random-seedable.git"},"author":{"name":"Chris Akroyd"},"license":"MIT","bugs":{"url":"https://github.com/ChrisAkroyd/random-seedable/issues"},"homepage":"https://github.com/ChrisAkroyd/random-seedable","devDependencies":{"@istanbuljs/esm-loader-hook":"^0.1.2","chai":"^4.3.4","eslint-config-airbnb":"^18.2.1","eslint-plugin-import":"^2.23.2","mocha":"^8.3.2","nyc":"^15.1.0","typescript":"^4.3.4"},"gitHead":"d8123c01f0baad5c5632f5f26033045fc31bdb13","_id":"random-seedable@1.0.7","_nodeVersion":"16.2.0","_npmVersion":"7.14.0","dist":{"integrity":"sha512-hzyTGDWjY9B7Vm9y4/+x1pL6yWp4Fh/7MQXoyuRUnuBAic7u5+6D5HpkyFKGxiTZKZn85EqevOXpY0+A+npQYQ==","shasum":"6760ef6484478c0b61d943ea8ee3161f5cc6b924","tarball":"https://registry.npmjs.org/random-seedable/-/random-seedable-1.0.7.tgz","fileCount":41,"unpackedSize":116328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNhIDCRA9TVsSAnZWagAANigP/RHA6h4bEfoECZzHVSyS\nc7iuLoVWnv93YpQSzFdmFUYXM0B6BEam8TFDNL/Y+1EQr7YF+DWRUAYSeRFq\nHPbrjy1vnY9QIQAzxab/48kwzTrxK8na8k8RsoVjR3tAzwS2V3MnhgJreZaS\nyCezBVnx/s84v4JvgwcNLV9PA1ZpEpWfocWKLbT1HL4MUvSfJ/aWui+cM6oy\nKznoK4S95fkxm0J9HZh+VFwb2qhQsFVPM468oGK+Q8zAZ6fMxi1u1uqqWoqE\nHC9MygSh3ks51W01v+rR3uMdyvnG/J1hbaUSlLGInvK+5KkfENwlRRhb0pZY\n9+pIgUx9BgHurEJW4zzxf+shi5g9A/U6fljQGq39iRw8VeS+bN4wct5DxlaA\nFebzNUo858OiWKzk+pz06eHQkk/EPC45cekfvEDaHECA3Q/YurMoIO02Gx7p\n53nyBMtxmH/WTdRQH3UEbTnBASrfBUL60zM2agTQD4JDv6bilHgZ2VHWmPyt\nKfGaUwELHnlwNUjiFJvpRY+ND5kN3CrwpwbCZkSCXC+nRtni8xcPRXhy6E1E\nJJkEWgLpPnF3qjD8PCLS8HyYNwHTqlczSzB0Y1KZmzA05stBt0nCgEFyntce\nU4ulOlGFlVMP7p0LO8Br2LUAGjv7yE7UrZKiYD1vVzcQgYcoDkOwK8zZyM3A\nvdvv\r\n=FF9F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIERRwStZdaEHpN5Y6PmSjl783sexeBjslvNl5nZokhh5AiEAvg+GPprVcirgrBUWIp/FVMbLFhU5SVhYxv6StRzQXnk="}]},"_npmUser":{"name":"cakroyd","email":"chris@chrisakroyd.com"},"maintainers":[{"name":"cakroyd","email":"chris@chrisakroyd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/random-seedable_1.0.7_1630933507568_0.41677373009775254"},"_hasShrinkwrap":false},"1.0.8":{"name":"random-seedable","version":"1.0.8","description":"Fully-fledged collection of both 32 and 64 bit seedable random number generators whose output precisely matches their original c/c++ implementations.","keywords":["Xorwow","Xorshift","LCG","random","number","numbers","generator","seedable","seed","random-seedable","PCG","Mersenne","Twister","pseudorandom","prng","rng","plus","128","64","32","bit","Xorshift64","Xorshift128","Xorshift128+"],"main":"src/index.js","type":"module","types":"./@types/index.d.ts","directories":{"test":"test","src":"src","reference":"reference","benchmark":"benchmark","examples":"examples"},"scripts":{"benchmark":"node benchmark/index.js","test":"mocha test/*.js","coverage":"nyc --reporter=lcov mocha --experimental-loader=@istanbuljs/esm-loader-hook","local-coverage":"nyc mocha --experimental-loader=@istanbuljs/esm-loader-hook","build-types":"npx tsc"},"repository":{"type":"git","url":"git+https://github.com/ChrisAkroyd/random-seedable.git"},"author":{"name":"Chris Akroyd"},"license":"MIT","bugs":{"url":"https://github.com/ChrisAkroyd/random-seedable/issues"},"homepage":"https://github.com/ChrisAkroyd/random-seedable","devDependencies":{"@istanbuljs/esm-loader-hook":"^0.1.2","chai":"^4.3.4","eslint-config-airbnb":"^18.2.1","eslint-plugin-import":"^2.23.2","mocha":"^8.3.2","nyc":"^15.1.0","typescript":"^4.3.4"},"gitHead":"540fbaea2624f8c1a01ca00855f017595f96daa6","_id":"random-seedable@1.0.8","_nodeVersion":"16.2.0","_npmVersion":"7.14.0","dist":{"integrity":"sha512-f6gzvNhAnZBht1Prn0e/tpukUNhkANntFF42uIdWDPriyEATYaRpyH8A9bYaGecUB3AL+dXeYtBUggy18fe3rw==","shasum":"d233ce5d49f64a20be398bbc3faa695cc39b8aa8","tarball":"https://registry.npmjs.org/random-seedable/-/random-seedable-1.0.8.tgz","fileCount":41,"unpackedSize":116491,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh236pCRA9TVsSAnZWagAAG/AP/3ppU505l7flUQHR25AR\njeq8Mza9dlK6nLQuGRXeW34/nG1LbhZIKQwFdQEmYhsMNFow34Nj1YajEyh6\nZM+RshZR4srjMBUpgyU8FcifiEuvwRp+ph8hBqfxO0EkG2I714mVi2zYzt38\nFI3IS1CYBn/3C3Z6R+PHDzF/JneRVvbkuTwzwi30RDaK5vHN8vmCaJTJvBKY\nOGZZy+lqDnX+U75I4+y4fJtSqUPzJutHwMDqRDTUEP6zyqfomh3uoN7oRoqh\nlX596+4A1S4cQTD0/2xwaCklq/A3mTstqTdfvmo/qdt7yg3sxtZTNW2TbnhK\nzEs3HUtX+8V+THAxTepDL4ghkFMeBYzBuSXB+hc9ESUVwU3DewTsQI9drbyJ\nqaWCqIxKyyzuiAoV6hwt5zK0GX4tdZtTnGRgPFICSLwSAXUaV3aVgDnn1HIu\nxbKK+aQuXmOY+QrJ3mIBuq5tKc7E5SjbaK+JrmagWILI2ibDs6niLLk4umVx\naG8FXfxnvwczkdXdKTrDPDHLpx1uHCkpFj6o1IlCjR//BpZtzauWsv2fgAmN\nU9VJv3IsJRWBujThmRQvQNOuY0cvUKdUBYzRdVHN4p9zyON8HFnvgDQiteu+\nSSE1JloM6o/f2ZpPUFJQS9zwL8b+mS/NUtanfawKn/BuN980iLOWemkSmdfS\nuzhB\r\n=s5ac\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF+xfZ6FAeZImiCeISMzaZ/Ky+fH985CIoHAgyAa0WaTAiEA9XfEM6RV9uFZ4L4ufp4PJQrQZS+EXYnrsGRKwZat78w="}]},"_npmUser":{"name":"cakroyd","email":"chris@chrisakroyd.com"},"maintainers":[{"name":"cakroyd","email":"chris@chrisakroyd.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/random-seedable_1.0.8_1633066749291_0.32803567725882177"},"_hasShrinkwrap":false}},"time":{"created":"2021-05-20T20:01:22.616Z","1.0.0":"2021-05-20T20:01:22.845Z","modified":"2022-05-14T02:47:24.512Z","1.0.1":"2021-05-21T14:25:28.689Z","1.0.2":"2021-05-23T12:12:01.285Z","1.0.3":"2021-06-02T10:25:43.697Z","1.0.4":"2021-06-22T13:49:50.054Z","1.0.5":"2021-06-22T13:53:40.724Z","1.0.6":"2021-07-11T14:57:48.916Z","1.0.7":"2021-09-06T13:05:07.712Z","1.0.8":"2021-10-01T05:39:09.500Z"},"maintainers":[{"name":"cakroyd","email":"chris@chrisakroyd.com"}],"description":"Fully-fledged collection of both 32 and 64 bit seedable random number generators whose output precisely matches their original c/c++ implementations.","homepage":"https://github.com/ChrisAkroyd/random-seedable","keywords":["Xorwow","Xorshift","LCG","random","number","numbers","generator","seedable","seed","random-seedable","PCG","Mersenne","Twister","pseudorandom","prng","rng","plus","128","64","32","bit","Xorshift64","Xorshift128","Xorshift128+"],"repository":{"type":"git","url":"git+https://github.com/ChrisAkroyd/random-seedable.git"},"author":{"name":"Chris Akroyd"},"bugs":{"url":"https://github.com/ChrisAkroyd/random-seedable/issues"},"license":"MIT","readme":"# random-seedable\r\n[![Coverage Status](https://coveralls.io/repos/github/chrisakroyd/random-seedable/badge.svg?branch=main)](https://coveralls.io/github/chrisakroyd/random-seedable?branch=main)\r\n[![npm version](https://badge.fury.io/js/random-seedable.svg)](https://badge.fury.io/js/random-seedable)\r\n![npm](https://img.shields.io/npm/dm/random-seedable)\r\n![minzip](https://badgen.net/bundlephobia/minzip/random-seedable)\r\n\r\nFully-fledged random number generator library offering both 32 bit and 64 bit high quality implementations of Xorshift, Xorwow, Mersenne Twister, PCG, and LCG.\r\nEach implements a standard API producing number distributions that exactly match the original implementations. Typescript compatible.\r\n\r\n## Highlights\r\n\r\n- Avoids the state overflow problems that plague other javascript implemented random number generators.\r\n- Matches the output of original authored C/C++ implementations for all algorithms.\r\n- 32 bit and 64 bit generators.\r\n- Simple, common API to all generators.\r\n- Light footprint.\r\n- Browser support.\r\n- ES Style module.\r\n\r\n## Install\r\n\r\n```bash\r\nnpm install random-seedable --save\r\n```\r\n\r\n## Getting Started\r\nJust want to use a random generator with no hassle? All you've got to do is import random, and use it\r\nas you would a generator you initialised yourself.\r\n\r\n\r\nSimply import random and call whatever method you please, \r\n```js\r\nimport random from 'random-seedable';\r\n\r\nrandom.bool(); // false\r\nrandom.int(); // 2346\r\nrandom.float(); // 0.34527\r\nrandom.shuffle([1, 2, 3, 1, 4]); // [2, 4, 3, 1, 1]\r\nrandom.choice([1, 2, 3, 1, 4]); // 2\r\n```\r\n\r\nWant a random generator with a seed you can set? Just import the generator you wish and initialise it yourself.\r\n\r\n```js\r\nimport { XORShift } from 'random-seedable';\r\n\r\nconst random = new XORShift(123456789);\r\nrandom.int(); // 123312\r\nrandom.bool(); // true\r\nrandom.shuffle([1, 2, 3, 1, 4]); // [2, 4, 3, 1, 1]\r\nrandom.choice([1, 2, 3, 1, 4]); // 2\r\n```\r\n\r\nOnce the generator is initialised, the seed can be changed using the seed setter function.\r\n\r\n```js\r\nimport { XORShift } from 'random-seedable';\r\n\r\nconst random = new XORShift(123456789);\r\n\r\nconsole.log(random.seed); // 123456789\r\n\r\nrandom.seed = 987654321;\r\n\r\nconsole.log(random.seed); // 987654321\r\n```\r\n\r\n## Condensed Documentation\r\n\r\n### PRNGs\r\n\r\nSupported PRNGs and their default initialisations.\r\n\r\n| Class   |   Default Initialisation |   Integer output |\r\n| -----------| ------ | ------ |\r\n| [LCG](#LCG)  |```new LCG(Date.now(), 1664525, 1013904223, 4294967296);``` | 32 bit |\r\n| [PCG](#PCG)  |  ```new PCG(Date.now(), 6364136223846793005n, 1442695040888963407n);``` | 32 bit |\r\n| [MersenneTwister](#MersenneTwister)  |  ```new MersenneTwister(Date.now(), 624, 397);``` | 32 bit |\r\n| [XORShift](#XORShift)   | ```new XORShift(Date.now(), 13, 17, 5);``` | 32 bit |\r\n| [XORShift64](#XORShift64)   | ```new XORShift64(Date.now(), 13, 7, 17);``` | 64 bit |\r\n| [XORShift128](#XORShift128)   | ```new XORShift128(Date.now(), 362436069, 521288629, 88675123);``` | 32 bit |\r\n| [XORShift128Plus](#XORShift128Plus)   | ```new XORShift128Plus(Date.now(), 362436069);``` | 64 bit |\r\n| [XORWow](#XORWow)   | ```new XORWow(Date.now(), 362436069, 521288629, 88675123, 5783321, 6615241, 362437);``` | 32 bit |\r\n| [random](#XORShift64)   | ```default PRNG, same as XORShift64``` | 64 bit |\r\n\r\n### PRNG methods.\r\n\r\nEach PRNG has the following methods.\r\n\r\n| Method      | Parameters | Return |\r\n| ----------- | --------   | ------ |\r\n| [.bool()](#bool)   | `None`     | Boolean. |\r\n| [.coin(pTrue)](#coin)   | `pTrue:Number`     | Boolean. |\r\n| [.int()](#int)  | `None`     | Number. |\r\n| [.bigInt()](#bigint)  | `None`     | BigInt. |\r\n| [.float()](#float)   | `None`     | Float. |\r\n| [.float53()](#float53) | `None`     | Float spread over full range. |\r\n| [.randRange(min, max)](#randrange) | `min:Number, max:Number`     | min <= Number <= max |\r\n| [.randBelow(max)](#randbelow) | `max:Number`     | Number <= Max |\r\n| [.choice(array)](#choice) | `array:[?]`     | Item from array of type ? |\r\n| [.shuffle(array, inPlace = true)](#shuffle) | `array:[?], inPlace:Boolean`     | Shuffled Array[?]  |\r\n| [.boolArray(size)](#boolarray) | `size:Number`     |Array[Boolean] of length size.  |\r\n| [.coinArray(size, pTrue)](#coinarray) | `size:Number, pTrue:Number`     |Array[Boolean] of length size.  |\r\n| [.intArray(size)](#intarray) | `size:Number`     | Array[Number] of length size.  |\r\n| [.bigIntArray(size)](#bigintarray) | `size:Number`     | Array[BigInt] of length size.  |\r\n| [.randRangeArray(size, min, max)](#rangerangearray) | `size:Number, min:Number, max:Number`     | Array[Number] of length size filled w/ min <= num <= max.  |\r\n| [.floatArray(size)](#floatarray) | `size:Number`     | Array[Number] between 0.0 - 1.0 of length size.  |\r\n| [.float53Array(size)](#float53array) | `size:Number`     | Array[Number] between 0.0 - 1.0 of length size.  |\r\n\r\n## Full Documentation\r\n\r\n### LCG\r\n\r\nLinear Congruential Generator (LCG) is a simple generator originally devised in 1951, if you need \r\nsomething quick with minimal memory usage and not the best quality randomness, this is for you. 32 bits of output.\r\n\r\n##### Parameters\r\n\r\n- seed -> Initial seed.\r\n- a -> Multiplier parameter.\r\n- c -> Increment parameter.\r\n- m -> Modulus parameter.\r\n\r\n##### Example\r\n```js\r\nconst random = new LCG(1234, 1664525, 1013904223, 4294967296);\r\n```\r\n\r\n---\r\n\r\n### PCG\r\n\r\nPermuted Congruential Generator (PCG) is again, a relatively simple generator that improves on the qualites\r\nof LCG by improving its randomness quality by increasing its state size and using only the most significant bits\r\nto produce the output. 32 bits of output.\r\n\r\n##### Parameters\r\n\r\n- seed -> Initial seed.\r\n- mul -> Multiplier parameter.\r\n- inc -> Increment parameter.\r\n\r\n##### Example\r\n```js\r\nconst random = new PCG(0x4d595df4d0f33173n, 6364136223846793005n, 1442695040888963407n);\r\n```\r\n\r\n---\r\n\r\n### MersenneTwister\r\n\r\nMersenne Twister is a widely used PRNG, most well known for being the Python and Excel default with an extremely large\r\nstate. 32 bits of output.\r\n##### Parameters\r\n\r\n- seed -> Initial seed.\r\n- n -> Degree of recurrence.\r\n- m -> Middle word, offset used during recurrence.\r\n\r\n##### Example\r\n```js\r\nconst random = new MersenneTwister(5489, 624, 397);\r\n```\r\n\r\n---\r\n\r\n### XORShift\r\n\r\nXorShift generators are fast, efficient generators with good randomness quality. This generator has 32 bit\r\noutput with 32 bits of internal state.\r\n\r\n##### Parameters\r\n\r\n- seed -> Initial seed.\r\n- a -> First bit shift parameter.\r\n- b -> Second bit shift parameter.\r\n- c -> Third bit shift parameter.\r\n\r\n##### Example\r\n```js\r\nconst random = new XORShift(11234, 13, 17, 5);\r\n```\r\n\r\n---\r\n\r\n### XORShift64\r\n\r\nXorShift generators are fast, efficient generators with good randomness quality. This implementation\r\nhas 64 bit output with 64 bits of internal state.\r\n\r\n##### Parameters\r\n\r\n- seed -> Initial seed.\r\n- a -> First bit shift parameter.\r\n- b -> Second bit shift parameter.\r\n- c -> Third bit shift parameter.\r\n\r\n##### Example\r\n```js\r\nconst random = new XORShift64(11234, 13, 7, 17);\r\n```\r\n\r\n---\r\n\r\n### XORShift128\r\n\r\nXorShift generators are fast, efficient generators with good randomness quality. This implementation\r\nhas 32 bit output with 128 bits of internal state.\r\n\r\n##### Parameters\r\n\r\n- seed -> Initial seed.\r\n- y -> First bit shift parameter.\r\n- z -> Second bit shift parameter.\r\n- w -> Third bit shift parameter.\r\n\r\n##### Example\r\n```js\r\nconst random = new XORShift128(Date.now(), 362436069, 521288629, 88675123);\r\n```\r\n\r\n---\r\n\r\n### XORShift128Plus\r\n\r\nXorShift generators are fast, efficient generators with good randomness quality. 64 bits of output with 128 internal state.\r\n\r\n##### Parameters\r\n\r\n- seed -> Initial seed.\r\n- y -> Second seed.\r\n\r\n##### Example\r\n```js\r\nconst random = new XORShift128Plus(Date.now(), 362436069);\r\n```\r\n\r\n---\r\n\r\n### XORWow\r\n\r\nXorWow is an improved version of XorShift and default generator of Nvidia CUDA. 32 bits of output.\r\n\r\n##### Parameters\r\n\r\n- seed -> Initial seed.\r\n- y -> First state initial value.\r\n- z -> Second state initial value.\r\n- w -> Third state initial value.\r\n- v -> Fourth state initial value.\r\n- d -> Fifth state initial value.\r\n- weyl -> Additive counter.\r\n\r\n##### Example\r\n```js\r\nconst random = new XORWow(123456789, 362436069, 521288629, 88675123, 5783321, 6615241, 362437);\r\n```\r\n\r\n---\r\n\r\n### bool\r\n`random.bool()`\r\n\r\nGenerates a boolean with the formula random.float() >= 0.5\r\n\r\n\r\n##### Parameters\r\nNone.\r\n\r\n##### Returns\r\nBoolean True/False.\r\n\r\n##### Example\r\n\r\n```js\r\nrandom.bool(); // true\r\n```\r\n\r\n---\r\n\r\n### coin\r\n`random.coin(pTrue)`\r\n\r\nGenerates a random boolean with probability of it being true denoted by the pTrue parameter. For\r\nexample, when pTrue=0.8, 80% of the numbers generated with this method will be true.\r\n\r\n\r\n##### Parameters\r\n- pTrue -> Probability of generating a true value.\r\n\r\n##### Returns\r\nBoolean True/False.\r\n\r\n##### Example\r\n\r\n```js\r\nrandom.coin(0.8); // true\r\n```\r\n\r\n\r\n---\r\n\r\n### int\r\n`random.int()`\r\n\r\nGenerates and returns the next number in the PRNGs sequence.\r\n\r\n\r\n##### Parameters\r\nNone.\r\n\r\n##### Returns\r\nNumber less than 2 ** 32 for 32 bit generators.\r\n\r\n##### Example\r\n\r\n```js\r\nrandom.int(); // 85424123\r\n```\r\n\r\n---\r\n\r\n### bigInt\r\n`random.bigInt()`\r\n\r\nGenerates and returns the next number in the PRNGs sequence and returns it as a Bigint.\r\n\r\n##### Parameters\r\nNone.\r\n\r\n##### Returns\r\nNumber less than 2 ** 32 for 32 bit generators represented as a BigInt class.\r\n[Further reading on Big Integers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt)\r\n\r\n##### Example\r\n\r\n```js\r\nrandom.bigInt(); // 85424123n\r\n```\r\n\r\n---\r\n\r\n### float\r\n`random.float()`\r\n\r\nGenerates a random floating point number.\r\n\r\n##### Parameters\r\nNone.\r\n\r\n##### Returns\r\nFloat between 0.0 - 1.0.\r\n\r\n##### Example\r\n\r\n```js\r\nrandom.float(); // 0.234242\r\n```\r\n\r\n---\r\n\r\n### float53\r\n`random.float53()`\r\n\r\nGenerates a random floating point number.\r\n\r\n##### Parameters\r\nNone.\r\n\r\n##### Returns\r\nFloat between 0.0 - 1.0.\r\n\r\n##### Example\r\n\r\n```js\r\nrandom.float53(); // 0.2342422341231\r\n```\r\n\r\n---\r\n\r\n### randRange\r\n`random.randRange(min, max)`\r\n\r\nGenerates a number within the given range.\r\n\r\n##### Parameters\r\n- min -> Lower bound of the numbers to generate (inclusive).\r\n- max -> Upper bound of the numbers to generate (inclusive).\r\n\r\n##### Returns\r\nNumber min <= Number <= max.\r\n\r\n##### Example\r\n\r\n```js\r\nconst lowerBound = 4;\r\nconst upperBound = 2432;\r\nrandom.randRange(lowerBound, upperBound); // 36.\r\n```\r\n\r\n---\r\n\r\n### randBelow\r\n`random.randBelow(max)`\r\n\r\nGenerates a number below the given maximum.\r\n\r\n##### Parameters\r\n- max -> Upper bound of the numbers to generate (inclusive).\r\n\r\n##### Returns\r\nNumber <= max\r\n\r\n##### Example\r\n\r\n```js\r\nconst upperBound = 2432;\r\nrandom.randBelow(upperBound);  // 285.\r\n```\r\n\r\n---\r\n\r\n### choice\r\n`random.choice(array)`\r\n\r\nPicks a random element from the array.\r\n\r\n##### Parameters\r\n- array -> Array of any type from which we randomly select one item.\r\n\r\n##### Returns\r\nA singular item from the array of type ?.\r\n\r\n##### Example\r\n\r\n```js\r\nconst arr = [1, 4, 2, 3];\r\nrandom.choice(arr); // 4\r\n```\r\n\r\n---\r\n\r\n### shuffle\r\n`random.shuffle(array, inPlace = false)`\r\n\r\nRandomly shuffles the given array using the fisher-yates algorithm.\r\n\r\n##### Parameters\r\n- array -> Array of any type to be shuffled.\r\n- inPlace -> Whether to shuffle the reference input array or return a new, shuffled array.\r\n\r\n##### Returns\r\n\r\nArray shuffled (inPlace === false), shuffled copy of array (inPlace === true).\r\n\r\n##### Examples\r\n\r\n```js\r\nconst arr = [1, 4, 2, 3];\r\nconst shuffled = random.shuffle(arr, false);\r\nconsole.log(arr); // [1, 4, 2, 3]\r\nconsole.log(shuffled); // [4, 2, 3, 1]\r\n```\r\n```js\r\nconst arr = [1, 4, 2, 3];\r\nconst shuffled = random.shuffle(arr, true);\r\nconsole.log(arr); // [4, 2, 3, 1]\r\nconsole.log(shuffled); // [4, 2, 3, 1]\r\n```\r\n---\r\n\r\n### boolArray\r\n`random.boolArray(size)`\r\n\r\nGenerates an n size array populated with booleans.\r\n\r\n##### Parameters\r\n- size -> Size of the array to generate.\r\n\r\n##### Returns\r\nArray[Boolean] of length size.\r\n\r\n##### Example\r\n\r\n```js\r\nconst size = 256;\r\nrandom.boolArray(size);\r\n```\r\n\r\n---\r\n\r\n### coinArray\r\n`random.coinArray(size, pTrue)`\r\n\r\nGenerates an n size array of random booleans with probability of it being true denoted by the pTrue parameter. For\r\nexample, when pTrue=0.8, 80% of the numbers in the generated array will be true.\r\n\r\n\r\n##### Parameters\r\n- size -> Size of the array to generate.\r\n- pTrue -> Probability of generating a true value.\r\n\r\n##### Returns\r\nArray[Boolean] of length size.\r\n\r\n##### Example\r\n\r\n```js\r\nconst size = 256;\r\nconst pTrue = 0.8;\r\nrandom.coinArray(size, pTrue);\r\n```\r\n\r\n---\r\n\r\n### intArray\r\n`random.intArray(size)`\r\n\r\nGenerates an n size array populated with integers.\r\n\r\n##### Parameters\r\n- size -> Size of the array to generate.\r\n\r\n##### Returns\r\nArray[Number] of length size.\r\n\r\n##### Example\r\n\r\n```js\r\nconst size = 256;\r\nrandom.intArray(size);\r\n```\r\n\r\n---\r\n\r\n### bigIntArray\r\n`random.bigIntArray(size)`\r\n\r\nGenerates an n size array populated with Big Integers.\r\n\r\n##### Parameters\r\n- size -> Size of the array to generate.\r\n\r\n##### Returns\r\nArray[BigInt] of length size.\r\n\r\n##### Example\r\n\r\n```js\r\nconst size = 256;\r\nrandom.bigIntArray(size);\r\n```\r\n\r\n---\r\n\r\n### rangeRangeArray\r\n`random.randRangeArray(size, min, max)`\r\n\r\nGenerates an n size array populated within the given range.\r\n\r\n##### Parameters\r\n- size -> Size of the array to generate.\r\n- min -> Lower bound of the numbers to generate (inclusive).\r\n- max -> Upper bound of the numbers to generate (inclusive).\r\n\r\n##### Returns\r\nArray[Number] of length size filled w/ min <= num <= max.\r\n\r\n##### Example\r\n\r\n```js\r\nconst size = 256;\r\nconst lowerBound = 4;\r\nconst upperBound = 2432;\r\nrandom.randRangeArray(size, lowerBound, upperBound);\r\n```\r\n\r\n---\r\n\r\n### floatArray\r\n`random.floatArray(size)`\r\n\r\nGenerates an n size array populated with floats.\r\n\r\n##### Parameters\r\n- size -> Size of the array to generate.\r\n\r\n##### Returns\r\nArray[Number] between 0.0 - 1.0 of length size.\r\n\r\n##### Example\r\n\r\n```js\r\nconst size = 256;\r\nrandom.floatArray(size);\r\n```\r\n---\r\n\r\n### float53Array\r\n`random.float53Array(size)`\r\n\r\nGenerates an n size array populated with floats.\r\n\r\n##### Parameters\r\n- size -> Size of the array to generate.\r\n\r\n##### Returns\r\nArray[Number] between 0.0 - 1.0 of length size.\r\n\r\n##### Example\r\n\r\n```js\r\nconst size = 256;\r\nrandom.float53Array(size);\r\n```\r\n\r\n# License\r\nSee [LICENSE](https://github.com/ChrisAkroyd/random-seedable/blob/master/LICENSE) file.\r\n\r\n# Resources\r\n\r\n* [Mersenne Twister](https://en.wikipedia.org/wiki/Mersenne_Twister)\r\n* [Linear Congruential Generator](https://en.wikipedia.org/wiki/Linear_congruential_generator)\r\n* [Piecewise Congruential Generator](https://en.wikipedia.org/wiki/Permuted_congruential_generator)\r\n* [XorShift/XorWow](https://en.wikipedia.org/wiki/Xorshift)\r\n* [Javascript Big Integers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt)\r\n* [Ranged random number generation](https://www.pcg-random.org/posts/bounded-rands.html)\r\n","readmeFilename":"README.md"}