Current File : //proc/3/root/opt/alt/python38/lib64/python3.8/__pycache__/bisect.cpython-38.pyc
U
��,a��@sZdZddd�Zd
dd�Zddd�Zdd d
�ZzddlTWnek
rLYnXeZeZdS)zBisection algorithms.�NcCst||||�}|�||�dS)z�Insert item x in list a, and keep it sorted assuming a is sorted.
If x is already in a, insert it to the right of the rightmost x.
Optional args lo (default 0) and hi (default len(a)) bound the
slice of a to be searched.
N)�bisect_right�insert��a�x�lo�hi�r �+/opt/alt/python38/lib64/python3.8/bisect.py�insort_rights rcCsT|dkrtd��|dkr t|�}||krP||d}|||krF|}q |d}q |S)a�Return the index where to insert item x in list a, assuming a is sorted.
The return value i is such that all e in a[:i] have e <= x, and all e in
a[i:] have e > x. So if x already appears in the list, a.insert(x) will
insert just after the rightmost x already there.
Optional args lo (default 0) and hi (default len(a)) bound the
slice of a to be searched.
r�lo must be non-negativeN����
ValueError�len�rrrrZmidr r r
rs
rcCst||||�}|�||�dS)z�Insert item x in list a, and keep it sorted assuming a is sorted.
If x is already in a, insert it to the left of the leftmost x.
Optional args lo (default 0) and hi (default len(a)) bound the
slice of a to be searched.
N)�bisect_leftrrr r r
�insort_left$s rcCsT|dkrtd��|dkr t|�}||krP||d}|||krJ|d}q |}q |S)a�Return the index where to insert item x in list a, assuming a is sorted.
The return value i is such that all e in a[:i] have e < x, and all e in
a[i:] have e >= x. So if x already appears in the list, a.insert(x) will
insert just before the leftmost x already there.
Optional args lo (default 0) and hi (default len(a)) bound the
slice of a to be searched.
rrNr
rrrr r r
r1s
r)�*)rN)rN)rN)rN) �__doc__rrrrZ_bisect�ImportErrorZbisectZinsortr r r r
�<module>s