mirror of
https://kevinblog.sytes.net/Code/Jibo-Revival-Group/RoboCommander.git
synced 2026-06-15 18:16:01 +00:00
Initial commit
This commit is contained in:
51
node_modules/d3-array/src/ticks.js
generated
vendored
Normal file
51
node_modules/d3-array/src/ticks.js
generated
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
var e10 = Math.sqrt(50),
|
||||
e5 = Math.sqrt(10),
|
||||
e2 = Math.sqrt(2);
|
||||
|
||||
export default function(start, stop, count) {
|
||||
var reverse,
|
||||
i = -1,
|
||||
n,
|
||||
ticks,
|
||||
step;
|
||||
|
||||
stop = +stop, start = +start, count = +count;
|
||||
if (start === stop && count > 0) return [start];
|
||||
if (reverse = stop < start) n = start, start = stop, stop = n;
|
||||
if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];
|
||||
|
||||
if (step > 0) {
|
||||
start = Math.ceil(start / step);
|
||||
stop = Math.floor(stop / step);
|
||||
ticks = new Array(n = Math.ceil(stop - start + 1));
|
||||
while (++i < n) ticks[i] = (start + i) * step;
|
||||
} else {
|
||||
start = Math.floor(start * step);
|
||||
stop = Math.ceil(stop * step);
|
||||
ticks = new Array(n = Math.ceil(start - stop + 1));
|
||||
while (++i < n) ticks[i] = (start - i) / step;
|
||||
}
|
||||
|
||||
if (reverse) ticks.reverse();
|
||||
|
||||
return ticks;
|
||||
}
|
||||
|
||||
export function tickIncrement(start, stop, count) {
|
||||
var step = (stop - start) / Math.max(0, count),
|
||||
power = Math.floor(Math.log(step) / Math.LN10),
|
||||
error = step / Math.pow(10, power);
|
||||
return power >= 0
|
||||
? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)
|
||||
: -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);
|
||||
}
|
||||
|
||||
export function tickStep(start, stop, count) {
|
||||
var step0 = Math.abs(stop - start) / Math.max(0, count),
|
||||
step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),
|
||||
error = step0 / step1;
|
||||
if (error >= e10) step1 *= 10;
|
||||
else if (error >= e5) step1 *= 5;
|
||||
else if (error >= e2) step1 *= 2;
|
||||
return stop < start ? -step1 : step1;
|
||||
}
|
||||
Reference in New Issue
Block a user