Package it.unimi.dsi.compression
Class CodeWordCoder
java.lang.Object
it.unimi.dsi.compression.CodeWordCoder
- All Implemented Interfaces:
Coder,PrefixCoder,Serializable
- Direct Known Subclasses:
Fast64CodeWordCoder
public class CodeWordCoder extends Object implements PrefixCoder, Serializable
A coder based on a set of codewords.
- See Also:
- Serialized Form
-
Field Summary
-
Constructor Summary
Constructors Constructor Description CodeWordCoder(BitVector[] codeWord)Creates a new codeword-based coder using the given vector of codewords. -
Method Summary
Modifier and Type Method Description BitVector[]codeWords()Provides access to the codewords.BooleanIteratorencode(int symbol)Encodes a symbol.intencode(int symbol, OutputBitStream obs)Encodes a symbol.BooleanIteratorflush()Flushes the coder.intflush(OutputBitStream unused)Flushes the coder.
-
Field Details
-
codeWord
The array of codewords of this coder.
-
-
Constructor Details
-
CodeWordCoder
Creates a new codeword-based coder using the given vector of codewords. The coder will be able to encode symbols numbered from 0 tocodeWord.length-1, included.- Parameters:
codeWord- a vector of codewords.
-
-
Method Details
-
encode
Description copied from interface:CoderEncodes a symbol. -
encode
Description copied from interface:CoderEncodes a symbol.- Specified by:
encodein interfaceCoder- Parameters:
symbol- a symbol.obs- the output bit stream where the encoded symbol will be written.- Returns:
- the number of bits written.
- Throws:
IOException
-
flush
Description copied from interface:CoderFlushes the coder. Warning: this method will notflushobs. -
flush
Description copied from interface:CoderFlushes the coder. -
codeWords
Description copied from interface:PrefixCoderProvides access to the codewords. Warning: bit 0 of each bit vector returned byPrefixCoder.codeWords()is the first (leftmost) bit of the corresponding codeword: in other words, codewords are stored in right-to-left fashion.- Specified by:
codeWordsin interfacePrefixCoder- Returns:
- the codewords.
-