16 lines
402 B
JavaScript
16 lines
402 B
JavaScript
import defaultSource from "./defaultSource.js";
|
|
|
|
export default (function sourceRandomIrwinHall(source) {
|
|
function randomIrwinHall(n) {
|
|
if ((n = +n) <= 0) return () => 0;
|
|
return function() {
|
|
for (var sum = 0, i = n; i > 1; --i) sum += source();
|
|
return sum + i * source();
|
|
};
|
|
}
|
|
|
|
randomIrwinHall.source = sourceRandomIrwinHall;
|
|
|
|
return randomIrwinHall;
|
|
})(defaultSource);
|