(chunk: Chunk<A>, value: A, ord: Order<A>)
| 84 | return self |
| 85 | } |
| 86 | |
| 87 | const insertSorted = <A>(chunk: Chunk<A>, value: A, ord: Order<A>): Chunk<A> => { |
| 88 | const arr = C.toArray(chunk) as Array<A> |
| 89 | let lo = 0 |
| 90 | let hi = arr.length |
| 91 | while (lo < hi) { |
| 92 | const mid = (lo + hi) >>> 1 |
| 93 | if (ord(arr[mid], value) <= 0) { |
| 94 | lo = mid + 1 |
| 95 | } else { |
| 96 | hi = mid |
| 97 | } |
| 98 | } |
| 99 | const out = Array(arr.length + 1) as Array<A> |
| 100 | for (let i = 0; i < lo; i++) out[i] = arr[i] |
| 101 | out[lo] = value |
| 102 | for (let i = lo; i < arr.length; i++) out[i + 1] = arr[i] |
| 103 | return C.fromIterable(out) |
| 104 | } |
| 105 | |
| 106 | /** |
no test coverage detected
searching dependent graphs…