subStringSort() — netty Function Reference
Architecture documentation for the subStringSort() function in Bzip2DivSufSort.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 6d0196f0_489e_2841_7424_79f0d208f4c9["subStringSort()"] 5a60cb70_bf06_95bf_9c73_ed3a4dc24eba["Bzip2DivSufSort"] 6d0196f0_489e_2841_7424_79f0d208f4c9 -->|defined in| 5a60cb70_bf06_95bf_9c73_ed3a4dc24eba d73c676c_466b_db84_289f_f07769f8f60c["sortTypeBstar()"] d73c676c_466b_db84_289f_f07769f8f60c -->|calls| 6d0196f0_489e_2841_7424_79f0d208f4c9 1e0c07d3_ab29_8c77_bb12_13a34e73c315["ssMultiKeyIntroSort()"] 6d0196f0_489e_2841_7424_79f0d208f4c9 -->|calls| 1e0c07d3_ab29_8c77_bb12_13a34e73c315 1a5aae65_48a0_09a4_5acf_6d87a1e5c541["ssMerge()"] 6d0196f0_489e_2841_7424_79f0d208f4c9 -->|calls| 1a5aae65_48a0_09a4_5acf_6d87a1e5c541 0f3081f4_c454_deea_e5ba_2db21526a3da["ssCompareLast()"] 6d0196f0_489e_2841_7424_79f0d208f4c9 -->|calls| 0f3081f4_c454_deea_e5ba_2db21526a3da style 6d0196f0_489e_2841_7424_79f0d208f4c9 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java lines 861–911
private void subStringSort(final int pa, int first, final int last,
final int[] buf, final int bufoffset, final int bufsize,
final int depth, final boolean lastsuffix, final int size) {
final int[] SA = this.SA;
int a, b;
int[] curbuf;
int curbufoffset;
int i, j, k;
int curbufsize;
if (lastsuffix) {
++first;
}
for (a = first, i = 0; a + SS_BLOCKSIZE < last; a += SS_BLOCKSIZE, ++i) {
ssMultiKeyIntroSort(pa, a, a + SS_BLOCKSIZE, depth);
curbuf = SA;
curbufoffset = a + SS_BLOCKSIZE;
curbufsize = last - (a + SS_BLOCKSIZE);
if (curbufsize <= bufsize) {
curbufsize = bufsize;
curbuf = buf;
curbufoffset = bufoffset;
}
for (b = a, k = SS_BLOCKSIZE, j = i; (j & 1) != 0; b -= k, k <<= 1, j >>>= 1) {
ssMerge(pa, b - k, b, b + k, curbuf, curbufoffset, curbufsize, depth);
}
}
ssMultiKeyIntroSort(pa, a, last, depth);
for (k = SS_BLOCKSIZE; i != 0; k <<= 1, i >>= 1) {
if ((i & 1) != 0) {
ssMerge(pa, a - k, a, last, buf, bufoffset, bufsize, depth);
a -= k;
}
}
if (lastsuffix) {
int r;
for (a = first, i = SA[first - 1], r = 1;
a < last && (SA[a] < 0 || 0 < (r = ssCompareLast(pa, pa + i, pa + SA[a], depth, size)));
++a) {
SA[a - 1] = SA[a];
}
if (r == 0) {
SA[a] = ~SA[a];
}
SA[a - 1] = i;
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does subStringSort() do?
subStringSort() is a function in the netty codebase, defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java.
Where is subStringSort() defined?
subStringSort() is defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java at line 861.
What does subStringSort() call?
subStringSort() calls 3 function(s): ssCompareLast, ssMerge, ssMultiKeyIntroSort.
What calls subStringSort()?
subStringSort() is called by 1 function(s): sortTypeBstar.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free