Home / Function/ ssMergeForward() — netty Function Reference

ssMergeForward() — netty Function Reference

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

Function java Buffer Allocators calls 2 called by 1

Entity Profile

Dependency Diagram

graph TD
  9b4ab75c_f363_ca90_f1a9_20cc7e1e5996["ssMergeForward()"]
  5a60cb70_bf06_95bf_9c73_ed3a4dc24eba["Bzip2DivSufSort"]
  9b4ab75c_f363_ca90_f1a9_20cc7e1e5996 -->|defined in| 5a60cb70_bf06_95bf_9c73_ed3a4dc24eba
  1a5aae65_48a0_09a4_5acf_6d87a1e5c541["ssMerge()"]
  1a5aae65_48a0_09a4_5acf_6d87a1e5c541 -->|calls| 9b4ab75c_f363_ca90_f1a9_20cc7e1e5996
  8f2018df_9270_64c3_5e3a_0e80d1e98d92["ssBlockSwap()"]
  9b4ab75c_f363_ca90_f1a9_20cc7e1e5996 -->|calls| 8f2018df_9270_64c3_5e3a_0e80d1e98d92
  4de771c8_37be_d30e_9a72_bab498988da7["ssCompare()"]
  9b4ab75c_f363_ca90_f1a9_20cc7e1e5996 -->|calls| 4de771c8_37be_d30e_9a72_bab498988da7
  style 9b4ab75c_f363_ca90_f1a9_20cc7e1e5996 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java lines 543–603

    private void ssMergeForward(final int pa, int[] buf, final int bufoffset,
                                final int first, final int middle, final int last, final int depth) {
        final int[] SA = this.SA;

        int bufend;
        int i, j, k;
        int t;
        int r;

        bufend = bufoffset + (middle - first) - 1;
        ssBlockSwap(buf, bufoffset, SA, first, middle - first);

        for (t = SA[first], i = first, j = bufoffset, k = middle;;) {
            r = ssCompare(pa + buf[j], pa + SA[k], depth);
            if (r < 0) {
                do {
                    SA[i++] = buf[j];
                    if (bufend <= j) {
                        buf[j] = t;
                        return;
                    }
                    buf[j++] = SA[i];
                } while (buf[j] < 0);
            } else if (r > 0) {
                do {
                    SA[i++] = SA[k];
                    SA[k++] = SA[i];
                    if (last <= k) {
                        while (j < bufend) {
                            SA[i++] = buf[j]; buf[j++] = SA[i];
                        }
                        SA[i] = buf[j]; buf[j] = t;
                        return;
                    }
                } while (SA[k] < 0);
            } else {
                SA[k] = ~SA[k];
                do {
                    SA[i++] = buf[j];
                    if (bufend <= j) {
                        buf[j] = t;
                        return;
                    }
                    buf[j++] = SA[i];
                } while (buf[j] < 0);

                do {
                    SA[i++] = SA[k];
                    SA[k++] = SA[i];
                    if (last <= k) {
                        while (j < bufend) {
                            SA[i++] = buf[j];
                            buf[j++] = SA[i];
                        }
                        SA[i] = buf[j]; buf[j] = t;
                        return;
                    }
                } while (SA[k] < 0);
            }
        }
    }

Domain

Subdomains

Called By

Frequently Asked Questions

What does ssMergeForward() do?
ssMergeForward() is a function in the netty codebase, defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java.
Where is ssMergeForward() defined?
ssMergeForward() is defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java at line 543.
What does ssMergeForward() call?
ssMergeForward() calls 2 function(s): ssBlockSwap, ssCompare.
What calls ssMergeForward()?
ssMergeForward() is called by 1 function(s): ssMerge.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free