| 621 | } |
| 622 | |
| 623 | function ticks(start, stop, count) { |
| 624 | stop = +stop, start = +start, count = +count; |
| 625 | if (!(count > 0)) return []; |
| 626 | if (start === stop) return [start]; |
| 627 | const reverse = stop < start, [i1, i2, inc] = reverse ? tickSpec(stop, start, count) : tickSpec(start, stop, count); |
| 628 | if (!(i2 >= i1)) return []; |
| 629 | const n = i2 - i1 + 1, ticks = new Array(n); |
| 630 | if (reverse) { |
| 631 | if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) / -inc; |
| 632 | else for (let i = 0; i < n; ++i) ticks[i] = (i2 - i) * inc; |
| 633 | } else { |
| 634 | if (inc < 0) for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) / -inc; |
| 635 | else for (let i = 0; i < n; ++i) ticks[i] = (i1 + i) * inc; |
| 636 | } |
| 637 | return ticks; |
| 638 | } |
| 639 | |
| 640 | function tickIncrement(start, stop, count) { |
| 641 | stop = +stop, start = +start, count = +count; |