You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
396 B
15 lines
396 B
import defaultSource from "./defaultSource.js";
|
|
|
|
export default (function sourceRandomPareto(source) {
|
|
function randomPareto(alpha) {
|
|
if ((alpha = +alpha) < 0) throw new RangeError("invalid alpha");
|
|
alpha = 1 / -alpha;
|
|
return function() {
|
|
return Math.pow(1 - source(), alpha);
|
|
};
|
|
}
|
|
|
|
randomPareto.source = sourceRandomPareto;
|
|
|
|
return randomPareto;
|
|
})(defaultSource);
|
|
|