toolkit/javascript/d3/src/core/range.js
changeset 47 c0b4a8b5a012
equal deleted inserted replaced
46:efd9c589177a 47:c0b4a8b5a012
       
     1 /**
       
     2  * @param {number} start
       
     3  * @param {number=} stop
       
     4  * @param {number=} step
       
     5  */
       
     6 d3.range = function(start, stop, step) {
       
     7   if (arguments.length < 3) {
       
     8     step = 1;
       
     9     if (arguments.length < 2) {
       
    10       stop = start;
       
    11       start = 0;
       
    12     }
       
    13   }
       
    14   if ((stop - start) / step == Infinity) throw new Error("infinite range");
       
    15   var range = [],
       
    16        i = -1,
       
    17        j;
       
    18   if (step < 0) while ((j = start + step * ++i) > stop) range.push(j);
       
    19   else while ((j = start + step * ++i) < stop) range.push(j);
       
    20   return range;
       
    21 };