Class Codec.Binary.Coder

java.lang.Object
it.unimi.dsi.sux4j.mph.codec.Codec.Binary.Coder
All Implemented Interfaces:
Codec.Coder
Enclosing class:
Codec.Binary

protected static class Codec.Binary.Coder extends Object implements Codec.Coder
  • Constructor Details

    • Coder

      public Coder(int codewordLength)
  • Method Details

    • encode

      public long encode(long next)
      Description copied from interface: Codec.Coder
      Returns the codeword associated with a symbol, or −1 if the provided symbol should be escaped.

      If a symbol needs to be escaped, it must be encoded using the escape codeword followed by the symbol written in a field of Codec.Coder.escapedSymbolLength() bits.

      Specified by:
      encode in interface Codec.Coder
      Parameters:
      next - a symbol.
      Returns:
      the associated codeword.
    • codewordLength

      public int codewordLength(long symbol)
      Description copied from interface: Codec.Coder
      Returns the length of the codeword associated with the given symbol.

      For escaped symbols, the returned values is the length of the escape codeword plus Codec.Coder.escapedSymbolLength().

      Specified by:
      codewordLength in interface Codec.Coder
      Parameters:
      symbol - a symbol provided at construction time.
      Returns:
      the length of the codeword associated with the given symbol.
    • maxCodewordLength

      public int maxCodewordLength()
      Description copied from interface: Codec.Coder
      Returns the maximum length of a codeword (including escaped symbols).
      Specified by:
      maxCodewordLength in interface Codec.Coder
      Returns:
      the maximum length of a codeword (including escaped symbols).
    • getDecoder

      public Codec.Binary.Coder.Decoder getDecoder()
      Description copied from interface: Codec.Coder
      Return a decoder associated with this coder.
      Specified by:
      getDecoder in interface Codec.Coder
      Returns:
      a decoder associated with this coder.