nl_tokens: / * Perform binary search to find searchElement into a generic array . It uses a customized compareFunc to perform the comparison between two elements of the array and a getElement function to pick the element from the array ( e . g . in case we want to pick a field of an array of objects )
pl_tokens: function ( array , searchElement , getElementFunc , compareFunc ) { var minIndex = 0 ; var maxIndex = array . length - 1 ; var currentIndex ; var currentElement ; while ( minIndex <= maxIndex ) { currentIndex = ( minIndex + maxIndex ) / 2 | 0 ; currentElement = getElementFunc ( array , currentIndex ) ; // lt = -1 (searchElement < currentElement) // eq = 0  // gt = 1  (searchElement > currentElement) var lt_eq_gt = compareFunc ( searchElement , <mask> , currentIndex ) ; if ( lt_eq_gt > 0 ) { minIndex = currentIndex + 1 ; } else if ( lt_eq_gt < 0 ) { maxIndex = currentIndex - 1 ; } else { return currentIndex ; } } return - 1 ; }