From 430e5a2fc415bb8919b86a0e10a28b8493fc8e45 Mon Sep 17 00:00:00 2001 From: Alexander Rose <alexander.rose@weirdbyte.de> Date: Wed, 11 Jul 2018 19:31:25 -0700 Subject: [PATCH] doc tweaks --- src/mol-data/int/impl/sorted-array.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/mol-data/int/impl/sorted-array.ts b/src/mol-data/int/impl/sorted-array.ts index 09b787726..e603bbcfb 100644 --- a/src/mol-data/int/impl/sorted-array.ts +++ b/src/mol-data/int/impl/sorted-array.ts @@ -71,6 +71,7 @@ export function findPredecessorIndexInInterval(xs: Nums, v: number, bounds: Inte const sv = xs[s]; if (v <= sv) return s; if (e > s && v > xs[e - 1]) return e; + // do a linear search if there are only 10 or less items remaining if (v - sv <= 11) return linearSearchPredInRange(xs, v, s + 1, e); return binarySearchPredIndexRange(xs, v, s, e); } @@ -82,6 +83,7 @@ export function findRange(xs: Nums, min: number, max: number) { function binarySearchRange(xs: Nums, value: number, start: number, end: number) { let min = start, max = end - 1; while (min <= max) { + // do a linear search if there are only 10 or less items remaining if (min + 11 > max) { for (let i = min; i <= max; i++) { if (value === xs[i]) return i; @@ -101,6 +103,7 @@ function binarySearchRange(xs: Nums, value: number, start: number, end: number) function binarySearchPredIndexRange(xs: Nums, value: number, start: number, end: number) { let min = start, max = end - 1; while (min < max) { + // do a linear search if there are only 10 or less items remaining if (min + 11 > max) { for (let i = min; i <= max; i++) { if (value <= xs[i]) return i; -- GitLab