Merge branch 'fix-log-precision' into release

This commit is contained in:
Mike Bostock 2011-11-29 21:56:46 -08:00
Родитель 12711f2e49 a752b9627f
Коммит 497211376b
4 изменённых файлов: 7 добавлений и 3 удалений

2
d3.js поставляемый
Просмотреть файл

@ -2542,7 +2542,7 @@ function d3_scale_log(linear, log) {
if (arguments.length < 2) format = d3_scale_logFormat; if (arguments.length < 2) format = d3_scale_logFormat;
if (arguments.length < 1) return format; if (arguments.length < 1) return format;
var k = n / scale.ticks().length, var k = n / scale.ticks().length,
f = log === d3_scale_logn ? (e = -1e-15, Math.floor) : (e = 1e-15, Math.ceil), f = log === d3_scale_logn ? (e = -1e-12, Math.floor) : (e = 1e-12, Math.ceil),
e; e;
return function(d) { return function(d) {
return d / pow(f(log(d) + e)) < k ? format(d) : ""; return d / pow(f(log(d) + e)) < k ? format(d) : "";

2
d3.min.js поставляемый

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -52,7 +52,7 @@ function d3_scale_log(linear, log) {
if (arguments.length < 2) format = d3_scale_logFormat; if (arguments.length < 2) format = d3_scale_logFormat;
if (arguments.length < 1) return format; if (arguments.length < 1) return format;
var k = n / scale.ticks().length, var k = n / scale.ticks().length,
f = log === d3_scale_logn ? (e = -1e-15, Math.floor) : (e = 1e-15, Math.ceil), f = log === d3_scale_logn ? (e = -1e-12, Math.floor) : (e = 1e-12, Math.ceil),
e; e;
return function(d) { return function(d) {
return d / pow(f(log(d) + e)) < k ? format(d) : ""; return d / pow(f(log(d) + e)) < k ? format(d) : "";

Просмотреть файл

@ -162,6 +162,10 @@ suite.addBatch({
"7e-3", "8e-3", "9e-3", "1e-2", "2e-2", "3e-2", "4e-2", "5e-2", "7e-3", "8e-3", "9e-3", "1e-2", "2e-2", "3e-2", "4e-2", "5e-2",
"6e-2", "7e-2", "8e-2", "9e-2", "1e-1", "2e-1", "3e-1", "4e-1" "6e-2", "7e-2", "8e-2", "9e-2", "1e-1", "2e-1", "3e-1", "4e-1"
]); ]);
var x = log().domain([.95, 1.05e8]);
assert.deepEqual(x.ticks().map(x.tickFormat(8)).filter(String), [
'1e+0', '1e+1', '1e+2', '1e+3', '1e+4', '1e+5', '1e+6', '1e+7', '1e+8'
]);
}, },
"can generate fewer ticks, if desired": function(log) { "can generate fewer ticks, if desired": function(log) {
var x = log(); var x = log();