@combinatorics/n-multicombinations
Version:
Set n-multicombinations for JavaScript
3 lines (2 loc) • 837 B
JavaScript
var e=require("@iterable-iterator/list"),r=require("@iterable-iterator/repeat"),t=require("@iterable-iterator/map"),a=regeneratorRuntime.mark(n);function n(t,n){var i,u,s;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(!(0===t&&n>0)){a.next=2;break}return a.abrupt("return");case 2:return i=e.list(r.nrepeat(0,n)),a.next=5,i;case 5:u=n-1;case 7:if(!(u<0)){a.next=10;break}return a.abrupt("return");case 10:if(i[u]===t-1){a.next=14;break}for(s=++i[u],++u;u<n;++u)i[u]=s;return a.abrupt("break",17);case 14:--u,a.next=7;break;case 17:return a.next=19,i;case 19:a.next=5;break;case 21:case"end":return a.stop()}},a)}exports._multicombinations=n,exports.multicombinations=function(r,a){var i=e.list(r);return t.map(function(r){return e.list(t.pick(i,r))},n(i.length,a))};
//# sourceMappingURL=index.cjs.map