Class Codec.Huffman.Coder.Decoder

java.lang.Object
it.unimi.dsi.sux4j.mph.codec.Codec.Huffman.Coder.Decoder
All Implemented Interfaces:
Codec.Decoder, Serializable
Enclosing class:
Codec.Huffman.Coder

public static final class Codec.Huffman.Coder.Decoder extends Object implements Codec.Decoder
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Decoder(long[] lastCodeWordPlusOne, int[] howManyUpToBlock, byte[] shift, int escapeLength, int escapedSymbolLength, long[] symbol)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    decode(long value)
    Decodes a sequence of bits.
    void
    dump(ByteBuffer buffer)
     
    int
    Returns the length in bit of an escaped symbol, or zero if there are no escaped symbols.
    int
    Returns the length of the escape codeword, if it exists, or zero.
    long
    The number of bits used by this decoder.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Decoder

      public Decoder(long[] lastCodeWordPlusOne, int[] howManyUpToBlock, byte[] shift, int escapeLength, int escapedSymbolLength, long[] symbol)
  • Method Details

    • escapedSymbolLength

      public int escapedSymbolLength()
      Description copied from interface: Codec.Decoder
      Returns the length in bit of an escaped symbol, or zero if there are no escaped symbols.
      Specified by:
      escapedSymbolLength in interface Codec.Decoder
      Returns:
      the length in bit of an escaped symbol, or zero if there are no escaped symbols.
    • escapeLength

      public int escapeLength()
      Description copied from interface: Codec.Decoder
      Returns the length of the escape codeword, if it exists, or zero.
      Specified by:
      escapeLength in interface Codec.Decoder
      Returns:
      the escape codeword, if it exists, or zero.
    • decode

      public long decode(long value)
      Description copied from interface: Codec.Decoder
      Decodes a sequence of bits.

      If the first codeword appearing in the sequence is the escape codeword, this method returns −1 and the actual symbol must be retrieved by reading Codec.Decoder.escapedSymbolLength() further bits.

      This method assumes that the first bit of the code is the leftmost bit (i.e., the bit of index Codec.Coder.maxCodewordLength() − 1).

      Specified by:
      decode in interface Codec.Decoder
      Parameters:
      value - a sequence of bits.
      Returns:
      the symbol associated with the first codeword appearing in the sequence, or −1 if the codeword is an escape.
    • numBits

      public long numBits()
      Description copied from interface: Codec.Decoder
      The number of bits used by this decoder.
      Specified by:
      numBits in interface Codec.Decoder
      Returns:
      the number of bits used by this decoder.
    • dump

      public void dump(ByteBuffer buffer)