15 lines
375 B
JavaScript
15 lines
375 B
JavaScript
|
import defaultSource from "./defaultSource.js";
|
||
|
|
||
|
export default (function sourceRandomBernoulli(source) {
|
||
|
function randomBernoulli(p) {
|
||
|
if ((p = +p) < 0 || p > 1) throw new RangeError("invalid p");
|
||
|
return function() {
|
||
|
return Math.floor(source() + p);
|
||
|
};
|
||
|
}
|
||
|
|
||
|
randomBernoulli.source = sourceRandomBernoulli;
|
||
|
|
||
|
return randomBernoulli;
|
||
|
})(defaultSource);
|