Lines Matching refs:needle
19 haystack: Numbers, needle: number, i: number, j: number): number {
22 return (needle >= haystack[i]) ? i : -1;
27 if (needle < midValue) {
28 return searchImpl(haystack, needle, i, mid);
30 return searchImpl(haystack, needle, mid, j);
35 haystack: Numbers, needle: number, i: number, j: number): Range {
38 if (haystack[i] <= needle) {
48 if (needle < midValue) {
49 return searchRangeImpl(haystack, needle, i, mid);
50 } else if (needle > midValue) {
51 return searchRangeImpl(haystack, needle, mid, j);
53 while (haystack[i] !== needle) i++;
54 while (haystack[j - 1] !== needle) j--;
59 export function search(haystack: Numbers, needle: number): number {
60 return searchImpl(haystack, needle, 0, haystack.length);
68 haystack: Numbers, needle: number, optRange?: Range): Range {
69 const range = searchRange(haystack, needle, optRange);
71 if (haystack[i] === needle) return range;
80 haystack: Numbers, needle: number, optRange?: Range): Range {
82 return searchRangeImpl(haystack, needle, left, right);
96 export function searchSegment(haystack: Numbers, needle: number): Range {
99 const left = search(haystack, needle);