d(・ω・d) 微分!(∫・ω・)∫ 積分!∂(・ω・∂) 偏微分!(∮・ω・)∮ 沿閉曲線的積分!(∬・ω・)∬ 重積分!∇(・ω・∇)梯度!∇・(・ω・∇・)散度!∇×(・ω・∇×)旋度!Δ(・ω・Δ)拉普拉斯!#゚Å゚)⊂彡☆))゚Д゚)・∵ლ(◉◞౪◟◉ )ლ千言萬語,不如一個「表情符號(emoji)」簡單生動又有趣!ಠ▃ಠ生氣、-`д´-憤怒、(¬_¬)無言、(•͈⌔•͈⑅)傷心、哭、開心、大笑、可愛、困惑、發呆、大眼睛、驚呀、跳舞、興奮、奔跑..≧Д≦ (;≧皿≦) (⁎˃ᆺ˂) ╬ Ò ‸ Ó) <(`^´)> ( >д<) (ꐦ ಠ皿ಠ ) (`Д´) (;`O´)o o(-`д´- 。) ( ˃⌂˂ ) (°ㅂ° ╬) (ʘ言ʘ╬) (Ò 皿 Ó ╬) (-`д´-) 눈_눈 (⋋▂⋌) (¬▂¬) ಠ▃ಠ (>x<) ╰(‵□′)╯ D.R.S Dz

Sindbad~EG File Manager

Current Path : /usr/lib64/python3.9/
Upload File :
Current File : //usr/lib64/python3.9/bisect.py

"""Bisection algorithms."""

def insort_right(a, x, lo=0, hi=None):
    """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.
    """

    lo = bisect_right(a, x, lo, hi)
    a.insert(lo, x)

def bisect_right(a, x, lo=0, hi=None):
    """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.
    """

    if lo < 0:
        raise ValueError('lo must be non-negative')
    if hi is None:
        hi = len(a)
    while lo < hi:
        mid = (lo+hi)//2
        # Use __lt__ to match the logic in list.sort() and in heapq
        if x < a[mid]: hi = mid
        else: lo = mid+1
    return lo

def insort_left(a, x, lo=0, hi=None):
    """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.
    """

    lo = bisect_left(a, x, lo, hi)
    a.insert(lo, x)


def bisect_left(a, x, lo=0, hi=None):
    """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.
    """

    if lo < 0:
        raise ValueError('lo must be non-negative')
    if hi is None:
        hi = len(a)
    while lo < hi:
        mid = (lo+hi)//2
        # Use __lt__ to match the logic in list.sort() and in heapq
        if a[mid] < x: lo = mid+1
        else: hi = mid
    return lo

# Overwrite above definitions with a fast C implementation
try:
    from _bisect import *
except ImportError:
    pass

# Create aliases
bisect = bisect_right
insort = insort_right

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists