def _pseudo_voigt_mixing_factor(width_l, width_g):
    """
    Returns the proportion of Lorentzian for the computation of a pseudo-Voigt profile.
    pseudoVoigt = (1 - eta) Gaussian + eta * Lorentzian
    
    Parameters
    ----------
    width_l, width_g : float
        FWHM for the Gaussian and Lorentzian parts, respectively.    
    
    Returns
    -------
    eta : numerical
        Proportion of Lorentzian. Between 0 and 1
    """
    # Fast formula (see paper in pseudo_voigt docstrings)
    # This assumes width_g and width_l are the Gaussian FWHM and Lorentzian FWHM
    gamma = (
        width_g ** 5
        + 2.69 * width_l * (width_g ** 4)
        + 2.43 * (width_g ** 3) * (width_l ** 2)
        + 4.47 * (width_g ** 2) * (width_l ** 3)
        + 0.08 * width_g * (width_l ** 4)
        + width_l ** 5
    ) ** (1 / 5)

    # Proportion of the Voigt that should be Lorentzian
    return (
        1.37 * (width_l / gamma)
        - 0.477 * (width_l / gamma) ** 2
        + 0.11 * (width_l / gamma) ** 3
    )