MCPcopy
hub / github.com/jipegit/OSXAuditor / d3_scale_polylinear

Function d3_scale_polylinear

d3-3.2.8/d3.js:6730–6744  ·  view source on GitHub ↗
(domain, range, uninterpolate, interpolate)

Source from the content-addressed store, hash-verified

6728 ceil: d3_identity
6729 };
6730 function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {
6731 var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1;
6732 if (domain[k] < domain[0]) {
6733 domain = domain.slice().reverse();
6734 range = range.slice().reverse();
6735 }
6736 while (++j <= k) {
6737 u.push(uninterpolate(domain[j - 1], domain[j]));
6738 i.push(interpolate(range[j - 1], range[j]));
6739 }
6740 return function(x) {
6741 var j = d3.bisect(domain, x, 1, k) - 1;
6742 return i[j](u[j](x));
6743 };
6744 }
6745 d3.scale.linear = function() {
6746 return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false);
6747 };

Callers

nothing calls this directly

Calls 1

interpolateFunction · 0.70

Tested by

no test coverage detected