Assuming I have an array of doubles, what's a good algorithm to sample this series using [Akima interpolation](http://www.iue.tuwien.ac.at/phd/rottinger/node60.html)? I'm too stupid to translate that mathematical description into code.

```
// values is an array of doubles
// idx is the index of the left-hand value for the current interpolation
// t is the normalized parameter between values[idx] and values[idx+1]
// Don't worry about array bounds, I'll handle that separately.
public double InterpolateAkima(double[] values, int idx, double t)
{
  ...?
}

```