def DP_to_GDP()

in utils_data.py [0:0]


def DP_to_GDP(epsilon, delta):
    """
    Given a target (epsilon-delta), returns mu such that a mu-GDP algorithm is (eps,delta)-DP
    """
    if epsilon <= 0:  # No finite mu value is possible
        return math.inf

    lower = 10 ** -6
    upper = 50.0

    mid = (lower + upper) / 2
    while (
        abs(GDP_to_DP(mu=mid, delta=delta) - epsilon) >= (epsilon * 10 ** -2)
        and mid > 0
    ):
        target_mu = GDP_to_DP(mu=mid, delta=delta)
        if target_mu < epsilon:
            lower = mid
        else:
            upper = mid

        mid = (lower + upper) / 2
        print("Mu-GDP value", mid)

    return mid