def cinterpolate(p, axis_values, pixelgrid):
    """
    Interpolates in a grid prepared by create_pixeltypegrid().
    
    Does a similar thing as :py:func:`interpolate`, but does everything in C.
    
    p is an array of parameter arrays.
    
    Careful, the shape of input :envvar:`p` and output is the transpose of
    :py:func:`interpolate`.
    
    @param p: Ninterpolate X Npar array
    @type p: array
    @return: Ninterpolate X Ndata array
    @rtype: array
    """
    res = libphoebe.interp(p, axis_values, pixelgrid)
    return res