@combinatorics/n-combinations
Version:
Set n-combinations for JavaScript
3 lines (2 loc) • 838 B
JavaScript
var r=require("@iterable-iterator/list"),e=require("@iterable-iterator/range"),t=require("@iterable-iterator/map"),a=regeneratorRuntime.mark(n);function n(t,n){var i,u,o;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(!(n>t)){a.next=2;break}return a.abrupt("return");case 2:return i=r.list(e.forwardRangeIterator(0,n,1)),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]===u+t-n){a.next=14;break}for(o=++i[u],++u;u<n;++u)i[u]=++o;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._combinations=n,exports.combinations=function(e,a){var i=r.list(e);return t.map(function(e){return r.list(t.pick(i,e))},n(i.length,a))};
//# sourceMappingURL=index.cjs.map