v0.2¶
v0.2.0¶
Released November 17, 2022
Breaking changes¶
Refactored FEC classes and usage. (#413, #435)
Modified
BCH
codes to support q-ary, non-primitive, and non narrow-sense codes.Modified
ReedSolomon
codes to support non-primitive codes.Enabled instantiation of a BCH or ReedSolomon code by specifying
(n, k)
or(n, d)
.Removed
parity_only=False
keyword argument from FECencode()
methods and replaced withoutput="codeword"
.Removed
bch_valid_codes()
from the API. Instead, usegalois.BCH(n, d=d)
to find and create a BCH code with codeword sizen
and design distanced
. For example, here is how to find various code sizes of primitive BCH codes overGF(5)
.>>> import galois >>> GF = galois.GF(5) >>> for d in range(3, 10): ... bch = galois.BCH(5**2 - 1, d=d, field=GF) ... print(repr(bch)) ... <BCH Code: [24, 20, 3] over GF(5)> <BCH Code: [24, 18, 4] over GF(5)> <BCH Code: [24, 16, 5] over GF(5)> <BCH Code: [24, 16, 6] over GF(5)> <BCH Code: [24, 15, 7] over GF(5)> <BCH Code: [24, 13, 8] over GF(5)> <BCH Code: [24, 11, 9] over GF(5)>
Removed
generator_to_parity_check_matrix()
,parity_check_to_generator_matrix()
,poly_to_generator_matrix()
, androots_to_parity_check_matrix()
from the API.
Renamed properties and methods for changing the finite field element representation. (#436)
Renamed
display
keyword argument inGF()
torepr
.Renamed
FieldArray.display()
classmethod toFieldArray.repr()
.Renamed
FieldArray.display_mode
property toFieldArray.element_repr
.>>> import galois >>> GF = galois.GF(3**4, repr="poly") >>> x = GF.Random(2, seed=1); x GF([2α^3 + 2α^2 + 2α + 2, 2α^3 + 2α^2], order=3^4) >>> GF.repr("power"); x GF([α^46, α^70], order=3^4) >>> GF.element_repr 'power'
Changes¶
Added
output="codeword"
keyword argument to FECencode()
methods. (#435)Added
output="message"
keyword argument to FECdecode()
methods. (#435)Standardized NumPy scalar return types (
np.bool_
andnp.int64
) to Python types (bool
andint
). For example, inFieldArray.multiplicative_order()
. (#437)Improved documentation and published docs for pre-release versions (e.g.,
v0.3.x
).
Contributors¶
Matt Hostetter (@mhostetter)