Sha256: 510f2b8358fa1326a8f8263bdee29598463ad1d5f50d67af5746f5eae1e28c10
Contents?: true
Size: 569 Bytes
Versions: 5
Compression:
Stored size: 569 Bytes
Contents
import "../arrays/bisect"; function d3_scale_polylinear(domain, range, uninterpolate, interpolate) { var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1; // Handle descending domains. if (domain[k] < domain[0]) { domain = domain.slice().reverse(); range = range.slice().reverse(); } while (++j <= k) { u.push(uninterpolate(domain[j - 1], domain[j])); i.push(interpolate(range[j - 1], range[j])); } return function(x) { var j = d3.bisect(domain, x, 1, k) - 1; return i[j](u[j](x)); }; }
Version data entries
5 entries across 5 versions & 3 rubygems