OpenQuizz
Une application de gestion des contenus pédagogiques
idna.intranges Namespace Reference

Functions

def intranges_from_list (list_)
 
def intranges_contain (int_, ranges)
 

Detailed Description

Given a list of integers, made up of (hopefully) a small number of long runs
of consecutive integers, compute a representation of the form
((start1, end1), (start2, end2) ...). Then answer the question "was x present
in the original list?" in time O(log(# runs)).

Function Documentation

◆ intranges_contain()

def idna.intranges.intranges_contain (   int_,
  ranges 
)
Determine if `int_` falls into one of the ranges in `ranges`.

◆ intranges_from_list()

def idna.intranges.intranges_from_list (   list_)
Represent a list of integers as a sequence of ranges:
((start_0, end_0), (start_1, end_1), ...), such that the original
integers are exactly those x such that start_i <= x < end_i for some i.

Ranges are encoded as single integers (start << 32 | end), not as tuples.