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