Lines Matching defs:len2

408         int len2 = runLen[i + 1];
409 if (DEBUG) assert len1 > 0 && len2 > 0;
417 runLen[i] = len1 + len2;
439 len2 = gallopLeft((Comparable<Object>) a[base1 + len1 - 1], a,
440 base2, len2, len2 - 1);
441 if (DEBUG) assert len2 >= 0;
442 if (len2 == 0)
445 // Merge remaining runs, using tmp array with min(len1, len2) elements
446 if (len1 <= len2)
447 mergeLo(base1, len1, base2, len2);
449 mergeHi(base1, len1, base2, len2);
603 * For performance, this method should be called only when len1 <= len2;
604 * its twin, mergeHi should be called if len1 >= len2. (Either method
605 * may be called if len1 == len2.)
611 * @param len2 length of second run to be merged (must be > 0)
614 private void mergeLo(int base1, int len1, int base2, int len2) {
615 if (DEBUG) assert len1 > 0 && len2 > 0 && base1 + len1 == base2;
628 if (--len2 == 0) {
633 System.arraycopy(a, cursor2, a, dest, len2);
634 a[dest + len2] = tmp[cursor1]; // Last elt of run 1 to end of merge
649 if (DEBUG) assert len1 > 1 && len2 > 0;
654 if (--len2 == 0)
671 if (DEBUG) assert len1 > 1 && len2 > 0;
682 if (--len2 == 0)
685 count2 = gallopLeft((Comparable) tmp[cursor1], a, cursor2, len2, 0);
690 len2 -= count2;
691 if (len2 == 0)
706 if (DEBUG) assert len2 > 0;
707 System.arraycopy(a, cursor2, a, dest, len2);
708 a[dest + len2] = tmp[cursor1]; // Last elt of run 1 to end of merge
713 if (DEBUG) assert len2 == 0;
721 * len1 >= len2; mergeLo should be called if len1 <= len2. (Either method
722 * may be called if len1 == len2.)
728 * @param len2 length of second run to be merged (must be > 0)
731 private void mergeHi(int base1, int len1, int base2, int len2) {
732 if (DEBUG) assert len1 > 0 && len2 > 0 && base1 + len1 == base2;
736 Object[] tmp = ensureCapacity(len2);
737 System.arraycopy(a, base2, tmp, 0, len2);
740 int cursor2 = len2 - 1; // Indexes into tmp array
741 int dest = base2 + len2 - 1; // Indexes into a
746 System.arraycopy(tmp, 0, a, dest - (len2 - 1), len2);
749 if (len2 == 1) {
768 if (DEBUG) assert len1 > 0 && len2 > 1;
779 if (--len2 == 1)
790 if (DEBUG) assert len1 > 0 && len2 > 1;
801 if (--len2 == 1)
804 count2 = len2 - gallopLeft((Comparable) a[cursor1], tmp, 0, len2, len2 - 1);
808 len2 -= count2;
810 if (len2 <= 1)
811 break outer; // len2 == 1 || len2 == 0
824 if (len2 == 1) {
830 } else if (len2 == 0) {
835 if (DEBUG) assert len2 > 0;
836 System.arraycopy(tmp, 0, a, dest - (len2 - 1), len2);