nl_tokens: Partition a subarray according to the Hoare partitioning scheme .
pl_tokens: function partition ( a , l , h , c ) { const p = a [ pivot ( a , l , h , c ) ] ; let i = l - 1 ; let j = h + 1 ; for ( ; ; ) { <mask> { i ++ ; } while ( c ( a [ i ] , p ) < 0 ) ; do { j -- ; } while ( c ( a [ j ] , p ) > 0 ) ; if ( i < j ) { [ a [ i ] , a [ j ] ] = [ a [ j ] , a [ i ] ] ; } else { return j ; } } }