578 {
579 int num =
BinarySearchReference(ptrTable, rowSize, referenceOffset, referenceValue, isReferenceSmall);
580 if (num == -1)
581 {
582 startRowNumber = -1;
583 endRowNumber = -1;
584 return;
585 }
586 startRowNumber = num;
587 while (startRowNumber > 0 &&
PeekReferenceUnchecked((ptrTable[startRowNumber - 1] - 1) * rowSize + referenceOffset, isReferenceSmall) == referenceValue)
588 {
589 startRowNumber--;
590 }
591 endRowNumber = num;
592 while (endRowNumber + 1 < ptrTable.Length &&
PeekReferenceUnchecked((ptrTable[endRowNumber + 1] - 1) * rowSize + referenceOffset, isReferenceSmall) == referenceValue)
593 {
594 endRowNumber++;
595 }
596 }
int BinarySearchReference(int rowCount, int rowSize, int referenceOffset, uint referenceValue, bool isReferenceSmall)
uint PeekReferenceUnchecked(int offset, bool smallRefSize)