@antv/f2
Version:
Charts for mobile visualization.
13 lines • 440 B
JavaScript
import { default as value } from "./value.js";
export default function piecewise(interpolate, values) {
if (values === undefined) values = interpolate, interpolate = value;
var i = 0,
n = values.length - 1,
v = values[0],
I = new Array(n < 0 ? 0 : n);
while (i < n) I[i] = interpolate(v, v = values[++i]);
return function (t) {
var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));
return I[i](t - i);
};
}