Skip to content

komm.VariableToFixedEncoder

Encoder for prefix-free variable-to-fixed length codes.

Attributes:

  • code (VariableToFixedCode)

    The code to be considered.

Input:

  • in0 (Array1D[int])

    The sequence of symbols to be encoded. Must be a 1D-array with elements in $[0:S)$, where $S$ is the source cardinality of the code.

Output:

  • out0 (Array1D[int])

    The sequence of encoded symbols. It is a 1D-array with elements in $[0:T)$, where $T$ is the target cardinality of the code.

Examples:

>>> code = komm.VariableToFixedCode.from_sourcewords(2, [(0,0,0), (0,0,1), (0,1), (1,)])
>>> encoder = komm.VariableToFixedEncoder(code)
>>> encoder([0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0])
array([0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0])
>>> code = komm.VariableToFixedCode.from_sourcewords(2, [(0,0,0), (0,0,1), (0,1), (0,)])
>>> encoder = komm.VariableToFixedEncoder(code)
Traceback (most recent call last):
...
ValueError: code is not prefix-free