Spaces:
Sleeping
Sleeping
| 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); | |
| }; | |
| } | |