|
Last change
on this file since e4c61dd was e4c61dd, checked in by istevanoska <ilinastevanoska@…>, 6 months ago |
|
Prototype 1.1
|
-
Property mode
set to
100644
|
|
File size:
427 bytes
|
| Line | |
|---|
| 1 | import {default as value} from "./value.js";
|
|---|
| 2 |
|
|---|
| 3 | export default function piecewise(interpolate, values) {
|
|---|
| 4 | if (values === undefined) values = interpolate, interpolate = value;
|
|---|
| 5 | var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);
|
|---|
| 6 | while (i < n) I[i] = interpolate(v, v = values[++i]);
|
|---|
| 7 | return function(t) {
|
|---|
| 8 | var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));
|
|---|
| 9 | return I[i](t - i);
|
|---|
| 10 | };
|
|---|
| 11 | }
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.