(domain, range, interpolate)
| 14976 | } |
| 14977 | |
| 14978 | function polymap(domain, range, interpolate) { |
| 14979 | var j = Math.min(domain.length, range.length) - 1, |
| 14980 | d = new Array(j), |
| 14981 | r = new Array(j), |
| 14982 | i = -1; |
| 14983 | |
| 14984 | // Reverse descending domains. |
| 14985 | if (domain[j] < domain[0]) { |
| 14986 | domain = domain.slice().reverse(); |
| 14987 | range = range.slice().reverse(); |
| 14988 | } |
| 14989 | |
| 14990 | while (++i < j) { |
| 14991 | d[i] = normalize(domain[i], domain[i + 1]); |
| 14992 | r[i] = interpolate(range[i], range[i + 1]); |
| 14993 | } |
| 14994 | |
| 14995 | return function(x) { |
| 14996 | var i = bisect(domain, x, 1, j) - 1; |
| 14997 | return r[i](d[i](x)); |
| 14998 | }; |
| 14999 | } |
| 15000 | |
| 15001 | function copy$1(source, target) { |
| 15002 | return target |
nothing calls this directly
no test coverage detected