Skip to content

Commit 51b4e6b

Browse files
cometkimclaude
andauthored
Cleanup binary search (#79)
Co-Authored-By: Claude <[email protected]>
1 parent 2477ba2 commit 51b4e6b

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ Since [Hermes doesn't support the `Intl.Segmenter` API](https://github.com/faceb
256256

257257
| Name | Unicode® | ESM? | Size | Size (min) | Size (min+gzip) | Size (min+br) |
258258
|------------------------------|----------|------|----------:|-----------:|----------------:|--------------:|
259-
| `unicode-segmenter/grapheme` | 16.0.0 | ✔️ | 16,056 | 12,150 | 5,070 | 3,761 |
259+
| `unicode-segmenter/grapheme` | 16.0.0 | ✔️ | 16,031 | 12,149 | 5,063 | 3,792 |
260260
| `graphemer` | 15.0.0 | ✖️ ️| 410,435 | 95,104 | 15,752 | 10,660 |
261261
| `grapheme-splitter` | 10.0.0 | ✖️ | 122,252 | 23,680 | 7,852 | 4,841 |
262262
| `@formatjs/intl-segmenter`* | 15.0.0 | ✖️ | 603,285 | 369,560 | 72,218 | 49,416 |
@@ -272,7 +272,7 @@ Since [Hermes doesn't support the `Intl.Segmenter` API](https://github.com/faceb
272272

273273
| Name | Bytecode size | Bytecode size (gzip)* |
274274
|------------------------------|--------------:|----------------------:|
275-
| `unicode-segmenter/grapheme` | 22,110 | 11,566 |
275+
| `unicode-segmenter/grapheme` | 22,097 | 11,558 |
276276
| `graphemer` | 133,978 | 31,713 |
277277
| `grapheme-splitter` | 63,835 | 19,137 |
278278

src/core.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,11 @@ export function findUnicodeRangeIndex(cp, ranges) {
6767
let lo = 0
6868
, hi = ranges.length - 1;
6969
while (lo <= hi) {
70-
let mid = lo + hi >> 1
71-
, range = ranges[mid]
72-
, l = range[0]
73-
, h = range[1];
74-
if (l <= cp && cp <= h) return mid;
75-
else if (cp > h) lo = mid + 1;
76-
else hi = mid - 1;
70+
let mid = lo + hi >>> 1
71+
, range = ranges[mid];
72+
if (cp < range[0]) hi = mid - 1;
73+
else if (cp > range[1]) lo = mid + 1;
74+
else return mid;
7775
}
7876
return -1;
7977
}

0 commit comments

Comments
 (0)