Home / Function/ initialiseInverseBWT() — netty Function Reference

initialiseInverseBWT() — netty Function Reference

Architecture documentation for the initialiseInverseBWT() function in Bzip2BlockDecompressor.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  53f222c8_eda8_7c97_2c97_0b36e2249292["initialiseInverseBWT()"]
  5e864d32_96fc_3bee_77e4_3eeb1e9d6e8d["Bzip2BlockDecompressor"]
  53f222c8_eda8_7c97_2c97_0b36e2249292 -->|defined in| 5e864d32_96fc_3bee_77e4_3eeb1e9d6e8d
  5a74d419_86a2_df2c_f8a8_4431b8d8f002["decodeHuffmanData()"]
  5a74d419_86a2_df2c_f8a8_4431b8d8f002 -->|calls| 53f222c8_eda8_7c97_2c97_0b36e2249292
  style 53f222c8_eda8_7c97_2c97_0b36e2249292 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2BlockDecompressor.java lines 247–274

    private void initialiseInverseBWT() {
        final int bwtStartPointer = this.bwtStartPointer;
        final byte[] bwtBlock  = this.bwtBlock;
        final int[] bwtMergedPointers = new int[bwtBlockLength];
        final int[] characterBase = new int[256];

        if (bwtStartPointer < 0 || bwtStartPointer >= bwtBlockLength) {
            throw new DecompressionException("start pointer invalid");
        }

        // Cumulative character counts
        System.arraycopy(bwtByteCounts, 0, characterBase, 1, 255);
        for (int i = 2; i <= 255; i++) {
            characterBase[i] += characterBase[i - 1];
        }

        // Merged-Array Inverse Burrows-Wheeler Transform
        // Combining the output characters and forward pointers into a single array here, where we
        // have already read both of the corresponding values, cuts down on memory accesses in the
        // final walk through the array
        for (int i = 0; i < bwtBlockLength; i++) {
            int value = bwtBlock[i] & 0xff;
            bwtMergedPointers[characterBase[value]++] = (i << 8) + value;
        }

        this.bwtMergedPointers = bwtMergedPointers;
        bwtCurrentMergedPointer = bwtMergedPointers[bwtStartPointer];
    }

Domain

Subdomains

Frequently Asked Questions

What does initialiseInverseBWT() do?
initialiseInverseBWT() is a function in the netty codebase, defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2BlockDecompressor.java.
Where is initialiseInverseBWT() defined?
initialiseInverseBWT() is defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2BlockDecompressor.java at line 247.
What calls initialiseInverseBWT()?
initialiseInverseBWT() is called by 1 function(s): decodeHuffmanData.

Analyze Your Own Codebase

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

Try Supermodel Free