Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
michael@0 | 1 | # Uses a binary search algorithm to locate a value in the specified array. |
michael@0 | 2 | window.binary_search = (items, value) -> |
michael@0 | 3 | |
michael@0 | 4 | start = 0 |
michael@0 | 5 | stop = items.length - 1 |
michael@0 | 6 | pivot = Math.floor (start + stop) / 2 |
michael@0 | 7 | |
michael@0 | 8 | while items[pivot] isnt value and start < stop |
michael@0 | 9 | |
michael@0 | 10 | # Adjust the search area. |
michael@0 | 11 | stop = pivot - 1 if value < items[pivot] |
michael@0 | 12 | start = pivot + 1 if value > items[pivot] |
michael@0 | 13 | |
michael@0 | 14 | # Recalculate the pivot. |
michael@0 | 15 | pivot = Math.floor (stop + start) / 2 |
michael@0 | 16 | |
michael@0 | 17 | # Make sure we've found the correct value. |
michael@0 | 18 | if items[pivot] is value then pivot else -1 |