mirror of
https://github.com/jspsych/jsPsych.git
synced 2025-05-10 11:10:54 +00:00
Use alea
PRNG for setSeed()
This commit is contained in:
parent
1b0b01c10a
commit
bad26ebb08
18
package-lock.json
generated
18
package-lock.json
generated
@ -2901,11 +2901,6 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/seedrandom": {
|
|
||||||
"version": "3.0.2",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/@types/semver": {
|
"node_modules/@types/semver": {
|
||||||
"version": "6.2.3",
|
"version": "6.2.3",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
@ -12548,7 +12543,8 @@
|
|||||||
},
|
},
|
||||||
"node_modules/seedrandom": {
|
"node_modules/seedrandom": {
|
||||||
"version": "3.0.5",
|
"version": "3.0.5",
|
||||||
"license": "MIT"
|
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
|
||||||
|
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "5.7.1",
|
"version": "5.7.1",
|
||||||
@ -15462,7 +15458,6 @@
|
|||||||
"@fontsource/open-sans": "4.5.3",
|
"@fontsource/open-sans": "4.5.3",
|
||||||
"@jspsych/config": "^1.2.0",
|
"@jspsych/config": "^1.2.0",
|
||||||
"@types/dom-mediacapture-record": "^1.0.11",
|
"@types/dom-mediacapture-record": "^1.0.11",
|
||||||
"@types/seedrandom": "^3.0.1",
|
|
||||||
"base64-inline-loader": "^2.0.1",
|
"base64-inline-loader": "^2.0.1",
|
||||||
"css-loader": "^6.6.0",
|
"css-loader": "^6.6.0",
|
||||||
"mini-css-extract-plugin": "^2.5.3",
|
"mini-css-extract-plugin": "^2.5.3",
|
||||||
@ -18268,10 +18263,6 @@
|
|||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/seedrandom": {
|
|
||||||
"version": "3.0.2",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"@types/semver": {
|
"@types/semver": {
|
||||||
"version": "6.2.3",
|
"version": "6.2.3",
|
||||||
"dev": true
|
"dev": true
|
||||||
@ -22610,7 +22601,6 @@
|
|||||||
"@fontsource/open-sans": "4.5.3",
|
"@fontsource/open-sans": "4.5.3",
|
||||||
"@jspsych/config": "^1.2.0",
|
"@jspsych/config": "^1.2.0",
|
||||||
"@types/dom-mediacapture-record": "^1.0.11",
|
"@types/dom-mediacapture-record": "^1.0.11",
|
||||||
"@types/seedrandom": "^3.0.1",
|
|
||||||
"auto-bind": "^4.0.0",
|
"auto-bind": "^4.0.0",
|
||||||
"base64-inline-loader": "^2.0.1",
|
"base64-inline-loader": "^2.0.1",
|
||||||
"css-loader": "^6.6.0",
|
"css-loader": "^6.6.0",
|
||||||
@ -24530,7 +24520,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"seedrandom": {
|
"seedrandom": {
|
||||||
"version": "3.0.5"
|
"version": "3.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
|
||||||
|
"integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg=="
|
||||||
},
|
},
|
||||||
"semver": {
|
"semver": {
|
||||||
"version": "5.7.1"
|
"version": "5.7.1"
|
||||||
|
@ -49,7 +49,6 @@
|
|||||||
"@fontsource/open-sans": "4.5.3",
|
"@fontsource/open-sans": "4.5.3",
|
||||||
"@jspsych/config": "^1.2.0",
|
"@jspsych/config": "^1.2.0",
|
||||||
"@types/dom-mediacapture-record": "^1.0.11",
|
"@types/dom-mediacapture-record": "^1.0.11",
|
||||||
"@types/seedrandom": "^3.0.1",
|
|
||||||
"base64-inline-loader": "^2.0.1",
|
"base64-inline-loader": "^2.0.1",
|
||||||
"css-loader": "^6.6.0",
|
"css-loader": "^6.6.0",
|
||||||
"mini-css-extract-plugin": "^2.5.3",
|
"mini-css-extract-plugin": "^2.5.3",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import rw from "random-words";
|
import rw from "random-words";
|
||||||
import seedrandom from "seedrandom";
|
import seedrandom from "seedrandom/lib/alea";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Uses the `seedrandom` package to replace Math.random() with a seedable PRNG.
|
* Uses the `seedrandom` package to replace Math.random() with a seedable PRNG.
|
||||||
@ -7,12 +7,8 @@ import seedrandom from "seedrandom";
|
|||||||
* @param seed An optional seed. If none is given, a random seed will be generated.
|
* @param seed An optional seed. If none is given, a random seed will be generated.
|
||||||
* @returns The seed value.
|
* @returns The seed value.
|
||||||
*/
|
*/
|
||||||
export function setSeed(seed?: string) {
|
export function setSeed(seed: string = seedrandom().int32().toString()) {
|
||||||
if (!seed) {
|
Math.random = seedrandom(seed);
|
||||||
const prng = seedrandom();
|
|
||||||
seed = prng.int32().toString();
|
|
||||||
}
|
|
||||||
seedrandom(seed, { global: true });
|
|
||||||
return seed;
|
return seed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user