def equilikely(a, b, u):
    """
    Generates an Equilikely rnd variate in *[a,b]*.
    Must be a < b.
    :param a: (int) lower bound.
    :param b: (int) upper bound.
    :param u: (float) rnd number in (0,1).
    :return: (float) the Equilikely(a,b) rnd variate.
    """
    return a + int((b - a + 1) * u)