@jit(nopython=True)<EOL>def interp_values(mass_arr, age_arr, feh_arr, icol,<EOL>grid, mass_col, ages, fehs, grid_Ns):
N = len(mass_arr)<EOL>results = np.zeros(N)<EOL>Nage = len(ages)<EOL>Nfeh = len(fehs)<EOL>for i in range(N):<EOL><INDENT>results[i] = interp_value(mass_arr[i], age_arr[i], feh_arr[i], icol,<EOL>grid, mass_col, ages, fehs, grid_Ns, False)<EOL><DEDENT>return results<EOL>
mass_arr, age_arr, feh_arr are all arrays at which values are desired

    icol is the column index of desired value
    grid is nfeh x nage x max(nmass) x ncols array
    mass_col is the column index of mass
    ages is grid of ages
    fehs is grid of fehs
    grid_Ns keeps track of nmass in each slice (beyond this are nans)