It seems that the only way to compute the value and the gradient of some interpolated function at a given point is to call separate methods for each. However, both these calls will look up the same interpolation knots, and duplicate computation when computing weights. Given this, if one does need both the value and gradient simultaneously (which I do), it would be preferable to have a single function that computes both.
I've mentioned this before elsewhere, but worth stating here.