Let us walk on the 3-isogeny graph
|
Functions | |
Tuple[int,...] | intranges_from_list (List[int] list_) |
int | _encode_range (int start, int end) |
Tuple[int, int] | _decode_range (int r) |
bool | intranges_contain (int int_, Tuple[int,...] ranges) |
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)).
|
protected |
Definition at line 35 of file intranges.py.
Referenced by pip._vendor.idna.intranges.intranges_contain().
|
protected |
Definition at line 32 of file intranges.py.
Referenced by pip._vendor.idna.intranges.intranges_contain(), and pip._vendor.idna.intranges.intranges_from_list().
bool intranges_contain | ( | int | int_, |
Tuple[int, ...] | ranges | ||
) |
Determine if `int_` falls into one of the ranges in `ranges`.
Definition at line 39 of file intranges.py.
References pip._vendor.idna.intranges._decode_range(), pip._vendor.idna.intranges._encode_range(), and i.
Tuple[int, ...] intranges_from_list | ( | List[int] | 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.
Definition at line 11 of file intranges.py.
References pip._vendor.idna.intranges._encode_range(), and i.