(array, lo, hi, compare)
| 5828 | } |
| 5829 | |
| 5830 | function makeAscendingRun(array, lo, hi, compare) { |
| 5831 | var runHi = lo + 1; |
| 5832 | |
| 5833 | if (runHi === hi) { |
| 5834 | return 1; |
| 5835 | } |
| 5836 | |
| 5837 | if (compare(array[runHi++], array[lo]) < 0) { |
| 5838 | while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) { |
| 5839 | runHi++; |
| 5840 | } |
| 5841 | |
| 5842 | reverseRun(array, lo, runHi); |
| 5843 | } |
| 5844 | else { |
| 5845 | while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) { |
| 5846 | runHi++; |
| 5847 | } |
| 5848 | } |
| 5849 | |
| 5850 | return runHi - lo; |
| 5851 | } |
| 5852 | |
| 5853 | function reverseRun(array, lo, hi) { |
| 5854 | hi--; |
no test coverage detected