| export const interpolateValue = (values: number[] | Float32Array, theoreticIndex: number) => { | |
| const lowerIndex = Math.floor(theoreticIndex); | |
| const upperIndex = Math.ceil(theoreticIndex); | |
| if (lowerIndex === upperIndex) { | |
| return values[lowerIndex]; | |
| } | |
| return (1 - (theoreticIndex - lowerIndex)) * values[lowerIndex] + (1 - (upperIndex - theoreticIndex)) * values[upperIndex]; | |
| }; | |