123456789101112131415161718192021 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- // Port of lower_bound from https://en.cppreference.com/w/cpp/algorithm/lower_bound
- // Used to compute insertion index to keep queue sorted after insertion
- function lowerBound(array, value, comparator) {
- let first = 0;
- let count = array.length;
- while (count > 0) {
- const step = (count / 2) | 0;
- let it = first + step;
- if (comparator(array[it], value) <= 0) {
- first = ++it;
- count -= step + 1;
- }
- else {
- count = step;
- }
- }
- return first;
- }
- exports.default = lowerBound;
|