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