| iterative | function createSequence(){
var defaults = Array.prototype.slice.call(arguments),
size = defaults.length;
return (function(num){
if(num < size) return defaults[num];
var def = defaults.slice(),
i = 0;
for(var j = size; j <= num; ++j, i = ++i % size)
def[i] = def.reduce(function(prev, curr){ return prev + curr;});
return def[i-1<0 ? size-1 : i-1];
})
}
test_callable(createSequence);
| ready |
| iterative minified | function createSequence(){var r=Array.prototype.slice.call(arguments),e=r.length;return function(n){if(e>n)return r[n];for(var t=r.slice(),u=0,c=e;n>=c;++c,u=++u%e)t[u]=t.reduce(function(r,e){return r+e});return t[0>u-1?e-1:u-1]}}
test_callable(createSequence);
| ready |
| recursive 1 | function createSequence(){
var base = Array.prototype.slice.call(arguments),
size = base.length;
return (function seq(num){
if(num < size) return base[num];
var sum = 0;
for(var i = 1; i <= size; ++i)
sum += seq(num - i);
return sum;
})
}
test_callable(createSequence);
| ready |
| recursive 1 minified | function createSequence(){var r=Array.prototype.slice.call(arguments),e=r.length;return function n(t){if(e>t)return r[t];for(var u=0,a=1;e>=a;++a)u+=n(t-a);return u}} test_callable(createSequence);
| ready |
| recursive 2 | function createSequence(){
var base = arguments,
size = Object.keys(base).length;
return (function seq(num){
if(num < size) return base[num];
var sum = 0;
for(var i = 1; i <= size; ++i)
sum += seq(num - i);
return sum;
})
}
test_callable(createSequence);
| ready |
| recursive 2 minified | function createSequence(){var r=arguments,n=Object.keys(r).length;return function t(e){if(n>e)return r[e];for(var u=0,f=1;n>=f;++f)u+=t(e-f);return u}}
test_callable(createSequence);
| ready |