Package it.unimi.dsi.sux4j.mph.codec
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 java.lang.Object implements Codec.Coder
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
Codec.Binary.Coder.Decoder
-
Constructor Summary
Constructors Constructor Description Coder(int codewordLength)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
codewordLength(long symbol)
Returns the length of the codeword associated with the given symbol.long
encode(long next)
Returns the codeword associated with a symbol, or −1 if the provided symbol should be escaped.Codec.Binary.Coder.Decoder
getDecoder()
Return a decoder associated with this coder.int
maxCodewordLength()
Returns the maximum length of a codeword (including escaped symbols).-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface it.unimi.dsi.sux4j.mph.codec.Codec.Coder
escape, escapedSymbolLength
-
-
-
-
Method Detail
-
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 interfaceCodec.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 interfaceCodec.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 interfaceCodec.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 interfaceCodec.Coder
- Returns:
- a decoder associated with this coder.
-
-