Return the most suitable wfdb format(s) to use given signal
    resolutions.

    Parameters
    ----------
    bit_res : int, or list
        The resolution of the signal, or a list of resolutions, in bits.
    single_fmt : bool, optional
        Whether to return the format for the maximum resolution signal.

    Returns
    -------
    fmt : str or list
        The most suitable wfdb format(s) used to encode the signal(s).

def _wfdb_fmt(bit_res, single_fmt=True):
    """
    Return the most suitable wfdb format(s) to use given signal
    resolutions.

    Parameters
    ----------
    bit_res : int, or list
        The resolution of the signal, or a list of resolutions, in bits.
    single_fmt : bool, optional
        Whether to return the format for the maximum resolution signal.

    Returns
    -------
    fmt : str or list
        The most suitable wfdb format(s) used to encode the signal(s).

    """
    if isinstance(bit_res, list):
        # Return a single format
        if single_fmt:
            bit_res = [max(bit_res)] * len(bit_res)

        return [wfdb_fmt(r) for r in bit_res]

    if bit_res <= 8:
        return '80'
    elif bit_res <= 12:
        return '212'
    elif bit_res <= 16:
        return '16'
    elif bit_res <= 24:
        return '24'
    else:
        return '32'