def METHOD_NAME(site_frac, O):
  # linear
  l0=O.map_data.eight_point_interpolation(site_frac)
  l =O.map_data.eight_point_interpolation_with_gradients(site_frac, O.step)
  assert approx_equal(l[0],l0)
  # quadratic
  q=O.map_data.quadratic_interpolation_with_gradients(site_frac, O.step)
  # tricubic
  t0 = O.map_data.tricubic_interpolation(site_frac)
  t  = O.map_data.tricubic_interpolation_with_gradients(site_frac, O.step)
  # Holds only of "Other option" is used (see maptbx/interpolation.h).
  # assert approx_equal(t[0],t0)
  return group_args(l = l, q = q, t = t)