Overload List
| # | Signature | Description |
|---|---|---|
| 1 | Int32 BinarySearch(Double x) | Finds a match for X in sorted object values using binary search. |
| 2 | Boolean BinarySearch(Double x, ref Int32 XIndex) | Finds exact or closest index match for X in sorted object values using binary search. |
Overload 1: Int32 BinarySearch(Double x)
Finds a match for X in sorted object values using binary search.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | x | Double | scalar |
Returns: Int32 - the index of first matched element. If no matching elements are found, the result is -1.
Remarks:
The data in the vector must be sorted in ascending order for this function to work correctly.
Overload 2: Boolean BinarySearch(Double x, ref Int32 XIndex)
Finds exact or closest index match for X in sorted object values using binary search.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | x | Double | scalar |
| 2 | XIndex | Int32 (ref) | X start index |
Returns: Boolean - True and exact index in XIndex, if found and False and the index of the next bigger or smaller value in XIndex, if not found.
Remarks:
The data in the vector must be sorted in ascending order for this function to work correctly. The closest match is the index of first bigger or smaller value in the array.
To ensure bigger value write:
Data := [0,2,3]; Data.BinarySearch(Value, XIndex); if Data[XIndex] > Value then Dec(XIndex);
To ensure smaller value write:
Data := [0,2,3]; Data.BinarySearch(1, XIndex); if Data[XIndex] < Value then Inc(XIndex);