Viewing File: /opt/alt/python35/lib/python3.5/site-packages/idna/__pycache__/intranges.cpython-35.pyc
'X @ sF d Z d d l Z d d Z d d Z d d Z d d
Z d S)a
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)).
Nc C s t | } g } d } x t t | D]{ } | d t | k rf | | | | d d k rf q+ | | d | d } | j t | d | d d | } q+ Wt | S)a 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.
r r )sortedrangelenappend
_encode_rangetuple)Zlist_Zsorted_listrangesZ
last_writeiZ
current_range r
/intranges.pyintranges_from_list
s "
r c C s | d >| BS)N r )startendr r r
r s r c C s | d ?| d @f S)Nr r l l r )rr r r
_decode_range"