This library was optimized and simplified to be very easy to use for anybody.
To get the full list of changes since last release (v0.3), see tomerfiliba-org#6, tomerfiliba-org#8 and tomerfiliba-org#11.
Summarized changelog:
- full support of errors-and-erasures decoding (it already worked before using Forney syndrome, but now it's not even necessary, and I worked the edge cases so that it always decodes correctly, and I also added the management of erasures in the API).
- support universal parametrization (we can now specify the parameters of the GF field and the FCR so that this lib is now compatible with almost any other RS codec)
- fast encoding/decoding (with PyPy 2.5 or Cython, the latter being about 2x faster than PyPy on pure-python). You can expect an encoding speed of > 3 MB/s.
- Added very strict unit tests, one being called "CrossValidation" which tests lots of different combinations of GF fields, RS parameters and errors/erasures to check that they all decode correctly (this is a good sanity check that the RS codec works correctly and is universal, and it's not slow to compute).
- Added lots of comments!
- updated the packaging script so that it works easily with Twine.
- compatibility with Python 3
- Automated support for galois fields different of 2^8 (256).
- Automated support of strings longer than galois field size (by using chunking transparently in RSCodec.encode() and RSCodec.decode()).
- RSCodec has been refactored and a check() method was added.
- RSCodec supports multiple instances with different parameters and fields.
- More unit tests (coverage ~96% !).
- Faster Travis builds by using caching.
- Since version version 1.3.0: updated setup.py from Beta to Stable.