Releases: aff3ct/aff3ct
AFF3CT - Release 3.0.2
Changes listed below:
- add
operator=
method to themodule::Socket
class to simplify the binding - add an automated
create_reset_task
method in themodule::Module
class - add
get_n_input_sockets
andget_n_output_sockets
methods inmodule::Task
- add
tools::Interface_is_done
totools::Sequence
: enable auto-stop intools::Pipeline
- add
exec_step
method totools::Sequence
: enable task by task execution - improve
tools::Sequence
: new task is added to graph if all input sockets are fed - implement
get_info_bits_pos
method inmodule::Extractor_RSC
class - improve
module::Switcher
: enable different type and number of elements incommute
andselect
tasks - plug CWD socket to the RS decoder (to know if the decoder found a codeword)
- replace reference members by copy in modules (to simplify the binding with
py_aff3ct
) - add documentation of some tasks
- fix doc requirements
- fix the LDPC BP flooding/layered decoder (inter-frame SIMD)
- fix the
puncture
method prototype of themodule::Puncturer
class - fix AZCW simulations
- unbind adaptors when a
tools::Pipeline
is destroyed (avoid bugs) - disable backtrace on Android NDK
AFF3CT - Release 3.0.1
Changes listed below:
-
add
tools::Sequence
andtools::Pipeline
-
add 0-copy
module::Adaptor
for efficient tools::Pipeline implementation -
add
module::Binaryop
,module::Unaryop
,module::Reducer
-
add
module::Switcher
,module::Controller
andmodule::Iterator
to support
loops and conditional structures (if, switch, ...) -
add the
hwloc
dependency for thread pinning intools::Sequence
and
tools::Pipeline
-
implement clonable modules (required for automated duplication in
tools::Sequence
) -
add a
status
module::Socket
for each task automatically -
add a priority during the binding of a
module::Socket
-
add an
unbind
method tomodule::Socket
-
add BCH and LDPC decoding status
-
add FRA, BE, FE, BER and FER as output sockets for monitor BFER
-
add Multi-kernel Polar encoders and decoders
-
add
module::Extractor
to extract information bits in a codeword -
add
module::Initializer
,module::Incrementer
,module::Sleeper
and
module::Finalizer
-
add
module::Probe
for very precise feedback -
add
module::Sink
(write end of a communication system into a file) -
add
module::Subsequence
to regroup multiple tasks in a single one -
add
tools::Interface
(clone, reset, set_n_frames, is_done, set_seed, ...) -
add the C++ API doc in Sphinx (Doxygen + Breathe + Sphinx)
-
add an inter-SIMD implementation of the BCH encoder
-
add new code rates to DVB-RCS2
-
add a
set_n_frames
method in themodule::Module
,tools::Sequence
and
tools::Pipeline
-
add native support of inter-frames (in the
module::Task
) -
add a new socket CWD (codeword) to get the decoding status per frame
-
add the
operator[]
method forstring
inmodule::Module
-
add scripts (based on Clang AST) to simplify the automation of AFF3CT wrappers
(Python, MATLAB) -
add auto-stop feature in
tools::Sequence
andtools::Pipeline
(based on the
is_done
interface) -
add
tools::Digraph
(directed graph) -
add a new
operator=
tomodule::Socket
: sockets can be bound in both
directions (SIN = SOUT or SOUT = SIN) -
replace
tools::Noise
by a channel parameter (CP) socket inmodule::Channel
andmodule::Modem
-
command Line Interface (CLI) has been externalized
-
split source code (
src/
) in publicinclude/
and privatesrc/
folders -
simplify
tools::Interleaver
: no need to call theinit
method anymore -
dockerize the CI/CD
-
fix a bug in the LDPC Gallager A decoder for irregular matrices
-
fix the bug on the majority vote of the LDPC Gallager B decoder
-
fix bug en the DVB-S2 constants (thx Ben Mathews)
-
fix Galois field segmentation fault
-
speedup the LDPC Gallager E (~x2)
-
remove SystemC/TLM interfaces
-
remove EXIT chart simulations
-
remove legacy simulation (without
tools::Sequence
) -
remove SIN_SOUT socket type
AFF3CT - Release 3.0.0
Changes listed below:
-
add
tools::Sequence
andtools::Pipeline
-
add 0-copy
module::Adaptor
for efficient tools::Pipeline implementation -
add
module::Binaryop
,module::Unaryop
,module::Reducer
-
add
module::Switcher
,module::Controller
andmodule::Iterator
to support
loops and conditional structures (if, switch, ...) -
add the
hwloc
dependency for thread pinning intools::Sequence
and
tools::Pipeline
-
implement clonable modules (required for automated duplication in
tools::Sequence
) -
add a
status
module::Socket
for each task automatically -
add a priority during the binding of a
module::Socket
-
add an
unbind
method tomodule::Socket
-
add BCH and LDPC decoding status
-
add FRA, BE, FE, BER and FER as output sockets for monitor BFER
-
add Multi-kernel Polar encoders and decoders
-
add
module::Extractor
to extract information bits in a codeword -
add
module::Initializer
,module::Incrementer
,module::Sleeper
and
module::Finalizer
-
add
module::Probe
for very precise feedback -
add
module::Sink
(write end of a communication system into a file) -
add
module::Subsequence
to regroup multiple tasks in a single one -
add
tools::Interface
(clone, reset, set_n_frames, is_done, set_seed, ...) -
add the C++ API doc in Sphinx (Doxygen + Breathe + Sphinx)
-
add an inter-SIMD implementation of the BCH encoder
-
add new code rates to DVB-RCS2
-
add a
set_n_frames
method in themodule::Module
,tools::Sequence
and
tools::Pipeline
-
add native support of inter-frames (in the
module::Task
) -
add a new socket CWD (codeword) to get the decoding status per frame
-
add the
operator[]
method forstring
inmodule::Module
-
add scripts (based on Clang AST) to simplify the automation of AFF3CT wrappers
(Python, MATLAB) -
add auto-stop feature in
tools::Sequence
andtools::Pipeline
(based on the
is_done
interface) -
add
tools::Digraph
(directed graph) -
add a new
operator=
tomodule::Socket
: sockets can be bound in both
directions (SIN = SOUT or SOUT = SIN) -
replace
tools::Noise
by a channel parameter (CP) socket inmodule::Channel
andmodule::Modem
-
command Line Interface (CLI) has been externalized
-
split source code (
src/
) in publicinclude/
and privatesrc/
folders -
simplify
tools::Interleaver
: no need to call theinit
method anymore -
dockerize the CI/CD
-
fix a bug in the LDPC Gallager A decoder for irregular matrices
-
fix the bug on the majority vote of the LDPC Gallager B decoder
-
fix bug en the DVB-S2 constants (thx Ben Mathews)
-
fix Galois field segmentation fault
-
speedup the LDPC Gallager E (~x2)
-
remove SystemC/TLM interfaces
-
remove EXIT chart simulations
-
remove legacy simulation (without
tools::Sequence
) -
remove SIN_SOUT socket type
AFF3CT - Release 2.3.5
Changes listed below:
- Fix link issues due to missing 'inline' keywords.
- Add a custom name to the abstract 'Module' class.
- Fix SystemC compilation error.
- Remove the outdated completion script.
AFF3CT - Release 2.3.4
Changes listed below:
- Rename PPA packages:
- 'aff3ct' becomes 'aff3ct-bin'.
- 'aff3ct-dev' has been split in 'libaff3ct' and 'libaff3ct-dev'.
- 'aff3ct-doc' stays 'aff3ct-doc'.
- Remove the automatic swap of M, N and K in the alist G and H matrices.
- Add an exception when the path to the polar best channels is wrong.
- Move versioning functions from 'aff3ct' to 'aff3ct::tools' namespace.
- Remove all the code from the '.h' and '.hpp' header files.
- Replace includes relative paths by absolute paths.
- Clean includes, remove useless ones and add others:
- speedup re-compilation time in many cases.
- allow to easily include specific headers from external project.
AFF3CT - Release 2.3.3
Changes listed below:
- Add AFF3CT PPA repositories for Debian/Ubuntu OSes:
- ppa:aff3ct/aff3ct-stable
- ppa:aff3ct/aff3ct-dev
- Doc: explain how to use AFF3CT as a library.
AFF3CT - Release 2.3.2
Changes listed below:
- Extend constructors of 'Galois' and 'BCH_polynomial_generator' to support generic primitive polynomials.
- Add the possibility to dump the best channels of the polar codes.
- Add missing ML decoder for BCH codes.
- Thread safe '--enc-g-save-path' option.
- Improve the CMake scripts and bug fixes.
- Fix warnings on MSVC compiler (Visual Studio 2019).
- Fix noise management in Polar codec when working on 64-bit floats.
- Remove link dependencies with GSL and MKL libraries.
- CI: merge 'documentation' and 'parser' stages in 'check'.
- CI: upload the builds as artifacts in the deploy script.
AFF3CT - Release 2.3.1
Changes listed below:
- Rewrite the 'CMakeLists.txt' file following the CMake 3.x philosophy with targets.
- Generate automatically the 'aff3ct-config.cmake' file to link easily with AFF3CT.
- Add CPack support in the 'CMakeLists.txt' to generate Windows/macOS installers, DEB, RPM, etc.
- Split the LDPC 'WBF' algorithm in 'WBF' and 'MWBF' algorithms.
- Rename '--dec-mwbf' in '--dec-mwbf-factor'.
- Fix an uninitialized attribute in the polar SCF naive decoder.
- CI: compile the shared library for Windows (DLL).
- CI: simplify the build and deploy scripts relying on the CMake install feature.
AFF3CT - Release 2.3.0
Changes listed below:
- Add BEC frozen bits generator for polar codes.
- Add 5G frozen bits generator for polar codes.
- Add 5G CRCs.
- Add a naive implementation of the SC Flip (SCF) decoder for polar codes.
- Add a new parameter '--ter-sigma' to display the standard deviation of the Gaussian distribution.
- Enable FAST SC and FAST SCL polar decoding on BEC channels.
- Fix a possible SCMA bug in the user to resource loop.
- Fix compilation of incompatibles LDPC files in the library when the compiler does not support C++17 'aligned new' feature.
- Fix wrong load in the BCJR decoder (RSC DB codes) when using non-buffered encoding.
- CI: integrate the debug parser script.
- CI: add RSC, RSC_DB, REP and RA regression tests.
AFF3CT - Release 2.2.2
Changes listed below:
- Speedup the monitor reduction process.
- Fix the MPI version of the code and rename the
--sim-mpi-comm
argument in--mnt-mpi-comm-freq
. - Add a lazy monitor reduction process and add two arugments to enable and configure it (
--mnt-red-lazy
and--mnt-red-lazy-freq
).