Search for a key in haystack matching hit predicate hitPred and hole
predicate holePred starting at index in steps of triangular numbers,
0,1,3,6,10,15,21, ... .
If assumeNonFullHaystack is true it is assumed that at least one element
in haystack matches pred, thereby enabling sentinel-based probing. Such
probing doesn't require in-loop range checking via `indexIncrement !=
haystack.length` and can be made faster.
Search for a key in haystack matching hit predicate hitPred and hole predicate holePred starting at index in steps of triangular numbers, 0,1,3,6,10,15,21, ... .
If assumeNonFullHaystack is true it is assumed that at least one element in haystack matches pred, thereby enabling sentinel-based probing. Such probing doesn't require in-loop range checking via `indexIncrement != haystack.length` and can be made faster.