2biY S r SSKrSSKJrJr S\\ S\\S4 4S jrS\S \S\4S
jrS\S\\\4 4S jrS
\S\\S4 S\ 4S jr
g)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)).
N)ListTuplelist_return.c [ U 5 n/ nSn[ [ U5 5 HW nUS- [ U5 : a X XS- S-
:X a M' XS- US- nUR [ US US S- 5 5 UnMY [ U5 $ )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 )sortedrangelenappend
_encode_rangetuple)r sorted_listranges
last_writei
current_ranges ڌ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_vendor/idna/intranges.pyintranges_from_listr s -K
FJ
3{#
$Q3[!!~qS!1!!33#qL15
mM!$4mB6G!6KLM
% = startendc U S- U- $ )N )r r s r r r s RK3r rc U S- U S- 4$ )Nr l r )r s r
_decode_ranger # s
GqM*++r int_r c [ U S5 n[ R " X5 nUS: a! [ XS-
5 u pEX@s=:: a U: a g U[ U5 : a [ X 5 u pFX@:X a gg)z=Determine if `int_` falls into one of the ranges in `ranges`.r r TF)r bisectbisect_leftr r )r r tuple_posleftright_s r intranges_containr) ' ss
4
#F
V
,C Qw#Fq5M2% S[,<r )__doc__r" typingr r intr r r boolr) r r r