bjorklund-js
Version:
A Javascript Universal Module implementation of the Bjorklund algorithm
3 lines (2 loc) • 825 B
JavaScript
!function(r,n){"function"==typeof define&&define.amd?define(function(){return r.bjorklund=n()}):"object"==typeof exports?module.exports=n():r.bjorklund=n()}(this,function(){function r(n,e,t,o,f){f=f||0;var c=u(n/e),i=n%e;return t.push(c),o.push(i),i?r(e,i,t,o,f+1):f}function n(r,e,t,u,o,f){var c,i,a;switch(t){case-1:f.push(u);break;case-2:f.push(o);break;default:for(i=r[t],a=e[t],c=0;c<i;c++)n(r,e,t-1,u,o,f);0!==a&&n(r,e,t-2,u,o,f)}}function e(r,n){return r.reduce(function(r,e,t){return r.concat([e,n[t]])},[]).concat(n.slice(r.length))}function t(t,u){var o,f=t-u,c=[],i=[u],a=[];return 0===f?Array(t).fill(1):0===u?Array(t).fill(0):t%u===0?e(Array(u).fill(1),Array(t-u).fill(0)):(f>u?(o=r(f,u,c,i),n(c,i,o,0,1,a)):(o=r(u,f,c,i),n(c,i,o,1,0,a)),a)}var u=Math.floor;return t});
//# sourceMappingURL=bjorklund.min.js.map