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

Version Path
mdarray-sol-0.1.0-java node_modules/dc/node_modules/d3/src/scale/polylinear.js
stripchart-0.0.3 lib/stripchart/public/components/d3/src/scale/polylinear.js
stripmem-0.0.3 lib/stripmem/public/components/d3/src/scale/polylinear.js
stripmem-0.0.2 lib/stripmem/public/components/d3/src/scale/polylinear.js
stripmem-0.0.1 lib/stripmem/public/components/d3/src/scale/polylinear.js