sortTypeBstar() — netty Function Reference
Architecture documentation for the sortTypeBstar() function in Bzip2DivSufSort.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD d73c676c_466b_db84_289f_f07769f8f60c["sortTypeBstar()"] 5a60cb70_bf06_95bf_9c73_ed3a4dc24eba["Bzip2DivSufSort"] d73c676c_466b_db84_289f_f07769f8f60c -->|defined in| 5a60cb70_bf06_95bf_9c73_ed3a4dc24eba d7e270d3_9d54_aab4_dd8c_b1bfb8a8ff6b["bwt()"] d7e270d3_9d54_aab4_dd8c_b1bfb8a8ff6b -->|calls| d73c676c_466b_db84_289f_f07769f8f60c e627db04_4e9c_0de6_129b_b28a369b0a3a["BUCKET_BSTAR()"] d73c676c_466b_db84_289f_f07769f8f60c -->|calls| e627db04_4e9c_0de6_129b_b28a369b0a3a 9815fd83_7f39_0bca_3dc5_c8bf594bcb17["BUCKET_B()"] d73c676c_466b_db84_289f_f07769f8f60c -->|calls| 9815fd83_7f39_0bca_3dc5_c8bf594bcb17 6d0196f0_489e_2841_7424_79f0d208f4c9["subStringSort()"] d73c676c_466b_db84_289f_f07769f8f60c -->|calls| 6d0196f0_489e_2841_7424_79f0d208f4c9 0800d61f_d4b4_d698_736e_dd03b4e4c519["trSort()"] d73c676c_466b_db84_289f_f07769f8f60c -->|calls| 0800d61f_d4b4_d698_736e_dd03b4e4c519 style d73c676c_466b_db84_289f_f07769f8f60c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java lines 1863–2019
private int sortTypeBstar(final int[] bucketA, final int[] bucketB) {
final byte[] T = this.T;
final int[] SA = this.SA;
final int n = this.n;
final int[] tempbuf = new int[256];
int[] buf;
int PAb, ISAb, bufoffset;
int i, j, k, t, m, bufsize;
int c0, c1;
int flag;
for (i = 1, flag = 1; i < n; ++i) {
if (T[i - 1] != T[i]) {
if ((T[i - 1] & 0xff) > (T[i] & 0xff)) {
flag = 0;
}
break;
}
}
i = n - 1;
m = n;
int ti, ti1, t0;
if ((ti = T[i] & 0xff) < (t0 = T[0] & 0xff) || (T[i] == T[0] && flag != 0)) {
if (flag == 0) {
++bucketB[BUCKET_BSTAR(ti, t0)];
SA[--m] = i;
} else {
++bucketB[BUCKET_B(ti, t0)];
}
for (--i; 0 <= i && (ti = T[i] & 0xff) <= (ti1 = T[i + 1] & 0xff); --i) {
++bucketB[BUCKET_B(ti, ti1)];
}
}
while (0 <= i) {
do {
++bucketA[T[i] & 0xff];
} while (0 <= --i && (T[i] & 0xff) >= (T[i + 1] & 0xff));
if (0 <= i) {
++bucketB[BUCKET_BSTAR(T[i] & 0xff, T[i + 1] & 0xff)];
SA[--m] = i;
for (--i; 0 <= i && (ti = T[i] & 0xff) <= (ti1 = T[i + 1] & 0xff); --i) {
++bucketB[BUCKET_B(ti, ti1)];
}
}
}
m = n - m;
if (m == 0) {
for (i = 0; i < n; ++i) {
SA[i] = i;
}
return 0;
}
for (c0 = 0, i = -1, j = 0; c0 < 256; ++c0) {
t = i + bucketA[c0];
bucketA[c0] = i + j;
i = t + bucketB[BUCKET_B(c0, c0)];
for (c1 = c0 + 1; c1 < 256; ++c1) {
j += bucketB[BUCKET_BSTAR(c0, c1)];
bucketB[(c0 << 8) | c1] = j;
i += bucketB[BUCKET_B(c0, c1)];
}
}
PAb = n - m;
ISAb = m;
for (i = m - 2; 0 <= i; --i) {
t = SA[PAb + i];
c0 = T[t] & 0xff;
c1 = T[t + 1] & 0xff;
SA[--bucketB[BUCKET_BSTAR(c0, c1)]] = i;
}
t = SA[PAb + m - 1];
c0 = T[t] & 0xff;
c1 = T[t + 1] & 0xff;
SA[--bucketB[BUCKET_BSTAR(c0, c1)]] = m - 1;
buf = SA;
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does sortTypeBstar() do?
sortTypeBstar() is a function in the netty codebase, defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java.
Where is sortTypeBstar() defined?
sortTypeBstar() is defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java at line 1863.
What does sortTypeBstar() call?
sortTypeBstar() calls 4 function(s): BUCKET_B, BUCKET_BSTAR, subStringSort, trSort.
What calls sortTypeBstar()?
sortTypeBstar() is called by 1 function(s): bwt.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free