(a, x, lo = 0, hi = a.length)
| 38 | } |
| 39 | |
| 40 | function left(a, x, lo = 0, hi = a.length) { |
| 41 | if (lo < hi) { |
| 42 | if (compare1(x, x) !== 0) return hi; |
| 43 | do { |
| 44 | const mid = (lo + hi) >>> 1; |
| 45 | if (compare2(a[mid], x) < 0) lo = mid + 1; |
| 46 | else hi = mid; |
| 47 | } while (lo < hi); |
| 48 | } |
| 49 | return lo; |
| 50 | } |
| 51 | |
| 52 | function right(a, x, lo = 0, hi = a.length) { |
| 53 | if (lo < hi) { |