def _convert_rho_to_krho(rho, size_ds: int):
    """
    Converts the ``rho`` parameter (also noted: math:`\\varrho`) between :math:`0 < \\varrho < 1` in a value between 0 and the size of the reference dataset.

    :param list rho: The value(s) of :math:`\\varrho` to be converted
    :param int size_ds: The size of the reference dataset

    :returns: the list of :math:`\\varrho \\times size\_ds`
    :rtype: list
    """

    if isinstance(rho, list):
        return [x * size_ds for x in rho]
    elif isinstance(rho, float) and rho < 1.0:
        return [size_ds * rho]
    else:
        raise ValueError("Rho must be a float or a list of floats between 0.0 and 1.0")