def _sample_floats(floats, float_sampling_method='exact', matched_distro_precision: int=100):
    '\n    A wrapper methods to sample a float distribution according to a method\n\n    :param floats:\n    :param float_sampling_method: exact (permutation of weights) | distro (trying to match the\n        empirical distribution) | logdistro (trying to match the empirical distribution in the log\n        space)\n    :param matched_distro_precision: how closely to try to match the distribution (granularity\n    parameter pass-through to the matched_sample_distribution)\n    :return: sample of floats\n    '
    if (float_sampling_method == 'exact'):
        ret_floats = floats.copy()
        np.random.shuffle(ret_floats)
        return ret_floats
    if (float_sampling_method == 'distro'):
        return matched_sample_distribution(floats, len(floats), granularity=matched_distro_precision)
    if (float_sampling_method == 'logdistro'):
        return matched_sample_distribution(floats, len(floats), granularity=matched_distro_precision, logmode=True)
A wrapper methods to sample a float distribution according to a method

:param floats:
:param float_sampling_method: exact (permutation of weights) | distro (trying to match the
    empirical distribution) | logdistro (trying to match the empirical distribution in the log
    space)
:param matched_distro_precision: how closely to try to match the distribution (granularity
parameter pass-through to the matched_sample_distribution)
:return: sample of floats
def _sample_floats(floats, float_sampling_method='exact', matched_distro_precision: int=100):
    '\n    A wrapper methods to sample a float distribution according to a method\n\n    :param floats:\n    :param float_sampling_method: exact (permutation of weights) | distro (trying to match the\n        empirical distribution) | logdistro (trying to match the empirical distribution in the log\n        space)\n    :param matched_distro_precision: how closely to try to match the distribution (granularity\n    parameter pass-through to the matched_sample_distribution)\n    :return: sample of floats\n    '
    if (float_sampling_method == 'exact'):
        ret_floats = floats.copy()
        np.random.shuffle(ret_floats)
        return ret_floats
    if (float_sampling_method == 'distro'):
        return matched_sample_distribution(floats, len(floats), granularity=matched_distro_precision)
    if (float_sampling_method == 'logdistro'):
        return matched_sample_distribution(floats, len(floats), granularity=matched_distro_precision, logmode=True)