Problems passing an array to a function for 2d interpolation

      int _high = map(xval, xaxis[xpos-1],xaxis[xpos], zvalues[xpos-1,ypos], zvalues[xpos,ypos]);

This isn't the right way to index into a 2-dimensional array:

zvalues[xpos,ypos]