Home / Function/ sortTypeBstar() — netty Function Reference

sortTypeBstar() — netty Function Reference

Architecture documentation for the sortTypeBstar() function in Bzip2DivSufSort.java from the netty codebase.

Function java Buffer Allocators calls 4 called by 1

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

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