@combinatorics/n-multicombinations
Version:
Set n-multicombinations for JavaScript
3 lines (2 loc) • 1.12 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@iterable-iterator/list"),require("@iterable-iterator/repeat"),require("@iterable-iterator/map")):"function"==typeof define&&define.amd?define(["exports","@iterable-iterator/list","@iterable-iterator/repeat","@iterable-iterator/map"],t):t((e||self).nMulticombinations={},e.list,e.repeat,e.map)}(this,function(e,t,r,n){var a=regeneratorRuntime.mark(i);function i(e,n){var i,o,u;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(!(0===e&&n>0)){a.next=2;break}return a.abrupt("return");case 2:return i=t.list(r.nrepeat(0,n)),a.next=5,i;case 5:o=n-1;case 7:if(!(o<0)){a.next=10;break}return a.abrupt("return");case 10:if(i[o]===e-1){a.next=14;break}for(u=++i[o],++o;o<n;++o)i[o]=u;return a.abrupt("break",17);case 14:--o,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)}e._multicombinations=i,e.multicombinations=function(e,r){var a=t.list(e);return n.map(function(e){return t.list(n.pick(a,e))},i(a.length,r))}});
//# sourceMappingURL=index.umd.js.map