Skip to content

Instantly share code, notes, and snippets.

@andresvia
Created September 29, 2014 19:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andresvia/76d53f7a3034f73a1935 to your computer and use it in GitHub Desktop.
Save andresvia/76d53f7a3034f73a1935 to your computer and use it in GitHub Desktop.
var range = function(start, end, mult){
if (end == undefined) {
end = start;
if (end < 0) {
start = end;
end = -1;
} else if (end > 0) start = 1;
else start = 0;
}
if (mult == undefined) mult = 1;
else if (mult < 0) {
var t = start;
start = end;
end = t;
mult = -mult;
} else if (mult == 0) return [];
var sign = function(x) {
if(x < 0) return -1;
else return 1;
}
var r = [];
var incr = sign(end-start) * mult;
for (var i = start;!((i-incr <= end && end < i)||(i < end && end <= i-incr));i+=incr) r.push(i)
return r;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment