def WDM_suppression(m, m_c, a_wdm, b_wdm, c_wdm):

    """
    Suppression function from Lovell et al. 2020
    :return: the factor that multiplies the CDM halo mass function to give the WDM halo mass function

    dN/dm (WDM) = dN/dm (CDM) * WDM_suppression

    where WDM suppression is (1 + (a_wdm * m_c / m)^b_wdm)^c_wdm
    """
    ratio = a_wdm * m_c / m
    factor = 1 + ratio ** b_wdm
    return factor ** c_wdm