home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Narzedzia / Calibre / calibre-0.8.18.msi / file_262 / bisect.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2011-09-09  |  1.6 KB  |  68 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.7)
  3.  
  4.  
  5. def insort_right(a, x, lo = 0, hi = None):
  6.     if lo < 0:
  7.         raise ValueError('lo must be non-negative')
  8.     if hi is None:
  9.         hi = len(a)
  10.     while lo < hi:
  11.         mid = (lo + hi) // 2
  12.         if x < a[mid]:
  13.             hi = mid
  14.             continue
  15.         lo = mid + 1
  16.     a.insert(lo, x)
  17.  
  18. insort = insort_right
  19.  
  20. def bisect_right(a, x, lo = 0, hi = None):
  21.     if lo < 0:
  22.         raise ValueError('lo must be non-negative')
  23.     if hi is None:
  24.         hi = len(a)
  25.     while lo < hi:
  26.         mid = (lo + hi) // 2
  27.         if x < a[mid]:
  28.             hi = mid
  29.             continue
  30.         lo = mid + 1
  31.     return lo
  32.  
  33. bisect = bisect_right
  34.  
  35. def insort_left(a, x, lo = 0, hi = None):
  36.     if lo < 0:
  37.         raise ValueError('lo must be non-negative')
  38.     if hi is None:
  39.         hi = len(a)
  40.     while lo < hi:
  41.         mid = (lo + hi) // 2
  42.         if a[mid] < x:
  43.             lo = mid + 1
  44.             continue
  45.         hi = mid
  46.     a.insert(lo, x)
  47.  
  48.  
  49. def bisect_left(a, x, lo = 0, hi = None):
  50.     if lo < 0:
  51.         raise ValueError('lo must be non-negative')
  52.     if hi is None:
  53.         hi = len(a)
  54.     while lo < hi:
  55.         mid = (lo + hi) // 2
  56.         if a[mid] < x:
  57.             lo = mid + 1
  58.             continue
  59.         hi = mid
  60.     return lo
  61.  
  62.  
  63. try:
  64.     from _bisect import *
  65. except ImportError:
  66.     pass
  67.  
  68.