(domain, range, uninterpolate, interpolate)
| 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 | }; |
nothing calls this directly
no test coverage detected