def canonicalize(interval, lower_inc=True, upper_inc=False):
    """
    Convert equivalent discrete intervals to different representations.
    """
    if not interval.discrete:
        raise TypeError('Only discrete ranges can be canonicalized')

    if interval.empty:
        return interval

    lower, lower_inc = canonicalize_lower(interval, lower_inc)
    upper, upper_inc = canonicalize_upper(interval, upper_inc)

    return interval.__class__(
        [lower, upper],
        lower_inc=lower_inc,
        upper_inc=upper_inc,
    )
def canonicalize ( interval , lower_inc = True , upper_inc = False ) : if not interval . discrete : raise TypeError ( 'Only discrete ranges can be canonicalized' ) if interval . empty : return interval lower , lower_inc = canonicalize_lower ( interval , lower_inc ) upper , upper_inc = canonicalize_upper ( interval , upper_inc ) return interval . __class__ ( [ lower , upper ] , lower_inc = lower_inc , upper_inc = upper_inc , )
Convert equivalent discrete intervals to different representations.