private static void ssBlockSwap(final int[] array1, final int first1, final int[] array2, final int first2, final int size) { int a, b; int i; for (i = size, a = first1, b = first2; 0 < i; --i, ++a, ++b) { swapElements(array1, a, array2, b); } }
private static void ssBlockSwap(final int[] array1, final int first1, final int[] array2, final int first2, final int size) { int a, b; int i; for (i = size, a = first1, b = first2; 0 < i; --i, ++a, ++b) { swapElements(array1, a, array2, b); } }
private static void ssBlockSwap(final int[] array1, final int first1, final int[] array2, final int first2, final int size) { int a, b; int i; for (i = size, a = first1, b = first2; 0 < i; --i, ++a, ++b) { swapElements(array1, a, array2, b); } }
private void ssHeapSort(int td, int pa, int sa, int size) { final int[] SA = this.SA; final byte[] T = this.T; int i, m; int t; m = size; if (size % 2 == 0) { m--; if ((T[td + SA[pa + SA[sa + m / 2]]] & 0xff) < (T[td + SA[pa + SA[sa + m]]] & 0xff)) { swapElements(SA, sa + m, SA, sa + m / 2); } } for (i = m / 2 - 1; 0 <= i; --i) { ssFixdown(td, pa, sa, i, m); } if (size % 2 == 0) { swapElements(SA, sa, SA, sa + m); ssFixdown(td, pa, sa, 0, m); } for (i = m - 1; 0 < i; --i) { t = SA[sa]; SA[sa] = SA[sa + i]; ssFixdown(td, pa, sa, 0, i); SA[sa + i] = t; } }
while (++b < last && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = trGetC(isa, isaD, isaN, SA[c])) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);
private void ssHeapSort(int td, int pa, int sa, int size) { final int[] SA = this.SA; final byte[] T = this.T; int i, m; int t; m = size; if (size % 2 == 0) { m--; if ((T[td + SA[pa + SA[sa + m / 2]]] & 0xff) < (T[td + SA[pa + SA[sa + m]]] & 0xff)) { swapElements(SA, sa + m, SA, sa + m / 2); } } for (i = m / 2 - 1; 0 <= i; --i) { ssFixdown(td, pa, sa, i, m); } if (size % 2 == 0) { swapElements(SA, sa, SA, sa + m); ssFixdown(td, pa, sa, 0, m); } for (i = m - 1; 0 < i; --i) { t = SA[sa]; SA[sa] = SA[sa + i]; ssFixdown(td, pa, sa, 0, i); SA[sa + i] = t; } }
while (++b < last && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = trGetC(isa, isaD, isaN, SA[c])) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);
private void trHeapSort(final int isa, final int isaD, final int isaN, final int sa, final int size) { final int[] SA = this.SA; int i, m; int t; m = size; if (size % 2 == 0) { m--; if (trGetC(isa, isaD, isaN, SA[sa + m / 2]) < trGetC(isa, isaD, isaN, SA[sa + m])) { swapElements(SA, sa + m, SA, sa + m / 2); } } for (i = m / 2 - 1; 0 <= i; --i) { trFixdown(isa, isaD, isaN, sa, i, m); } if (size % 2 == 0) { swapElements(SA, sa, SA, sa + m); trFixdown(isa, isaD, isaN, sa, 0, m); } for (i = m - 1; 0 < i; --i) { t = SA[sa]; SA[sa] = SA[sa + i]; trFixdown(isa, isaD, isaN, sa, 0, i); SA[sa + i] = t; } }
private void ssHeapSort(int td, int pa, int sa, int size) { final int[] SA = this.SA; final byte[] T = this.T; int i, m; int t; m = size; if (size % 2 == 0) { m--; if ((T[td + SA[pa + SA[sa + m / 2]]] & 0xff) < (T[td + SA[pa + SA[sa + m]]] & 0xff)) { swapElements(SA, sa + m, SA, sa + m / 2); } } for (i = m / 2 - 1; 0 <= i; --i) { ssFixdown(td, pa, sa, i, m); } if (size % 2 == 0) { swapElements(SA, sa, SA, sa + m); ssFixdown(td, pa, sa, 0, m); } for (i = m - 1; 0 < i; --i) { t = SA[sa]; SA[sa] = SA[sa + i]; ssFixdown(td, pa, sa, 0, i); SA[sa + i] = t; } }
while (++b < last && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = trGetC(isa, isaD, isaN, SA[c])) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);
private void trHeapSort(final int isa, final int isaD, final int isaN, final int sa, final int size) { final int[] SA = this.SA; int i, m; int t; m = size; if (size % 2 == 0) { m--; if (trGetC(isa, isaD, isaN, SA[sa + m / 2]) < trGetC(isa, isaD, isaN, SA[sa + m])) { swapElements(SA, sa + m, SA, sa + m / 2); } } for (i = m / 2 - 1; 0 <= i; --i) { trFixdown(isa, isaD, isaN, sa, i, m); } if (size % 2 == 0) { swapElements(SA, sa, SA, sa + m); trFixdown(isa, isaD, isaN, sa, 0, m); } for (i = m - 1; 0 < i; --i) { t = SA[sa]; SA[sa] = SA[sa + i]; trFixdown(isa, isaD, isaN, sa, 0, i); SA[sa + i] = t; } }
swapElements(SA, first, SA, a); v = trGetC(isa, isaD, isaN, SA[first]); while (++b < last && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = trGetC(isa, isaD, isaN, SA[c])) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);
private void trHeapSort(final int isa, final int isaD, final int isaN, final int sa, final int size) { final int[] SA = this.SA; int i, m; int t; m = size; if (size % 2 == 0) { m--; if (trGetC(isa, isaD, isaN, SA[sa + m / 2]) < trGetC(isa, isaD, isaN, SA[sa + m])) { swapElements(SA, sa + m, SA, sa + m / 2); } } for (i = m / 2 - 1; 0 <= i; --i) { trFixdown(isa, isaD, isaN, sa, i, m); } if (size % 2 == 0) { swapElements(SA, sa, SA, sa + m); trFixdown(isa, isaD, isaN, sa, 0, m); } for (i = m - 1; 0 < i; --i) { t = SA[sa]; SA[sa] = SA[sa + i]; trFixdown(isa, isaD, isaN, sa, 0, i); SA[sa + i] = t; } }
swapElements(SA, first, SA, a); v = trGetC(isa, isaD, isaN, SA[first]); while (++b < last && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = trGetC(isa, isaD, isaN, SA[c])) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);
swapElements(SA, first, SA, a); v = trGetC(isa, isaD, isaN, SA[first]); while (++b < last && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = trGetC(isa, isaD, isaN, SA[c])) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);
swapElements(SA, first, SA, a); while (++b < last && (x = T[Td + SA[pa + SA[b]]] & 0xff) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = T[Td + SA[pa + SA[c]]] & 0xff) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = T[Td + SA[pa + SA[b]]] & 0xff) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);
swapElements(SA, first, SA, a); while (++b < last && (x = T[Td + SA[pa + SA[b]]] & 0xff) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = T[Td + SA[pa + SA[c]]] & 0xff) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = T[Td + SA[pa + SA[b]]] & 0xff) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);
swapElements(SA, first, SA, a); while (++b < last && (x = T[Td + SA[pa + SA[b]]] & 0xff) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = T[Td + SA[pa + SA[c]]] & 0xff) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = T[Td + SA[pa + SA[b]]] & 0xff) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);
swapElements(SA, first, SA, a); v = trGetC(isa, isaD, isaN, SA[first]); while (++b < last && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = trGetC(isa, isaD, isaN, SA[c])) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);
swapElements(SA, first, SA, a); v = trGetC(isa, isaD, isaN, SA[first]); while (++b < last && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; while (b < --c && (x = trGetC(isa, isaD, isaN, SA[c])) >= v) { if (x == v) { swapElements(SA, c, SA, d); --d; swapElements(SA, b, SA, c); while (++b < c && (x = trGetC(isa, isaD, isaN, SA[b])) <= v) { if (x == v) { swapElements(SA, b, SA, a); ++a; swapElements(SA, c, SA, d); --d; swapElements(SA, e, SA, f); swapElements(SA, e, SA, f);