<commit_before># AFF3CT Short Presentation

**AFF3CT** (A Fast Forward Error Correction Tool!) is a library dedicated to the [Forward Error Correction](https://en.wikipedia.org/wiki/Forward_error_correction) (FEC or channel coding).
It is written in **C++11** and it supports a large range of codes: from the well-spread **Turbo codes** to the very new **Polar codes** including the **Low-Density Parity-Check (LDPC) codes**.
AFF3CT can be used in two different ways, as:
- a dedicated **toolbox** or **library** that can be used in various projects,
- a **standalone application** for [Monte Carlo](https://en.wikipedia.org/wiki/Monte_Carlo_method) [BER/FER](https://en.wikipedia.org/wiki/Bit_error_rate) and [EXIT chart](https://en.wikipedia.org/wiki/EXIT_chart) simulations.
The following section focuses on the compilation and the execution of the AFF3CT standalone application.

# How to Compile and Run the Code

This project use `cmake` in order to generate any type of projects (Makefile, Visual Studio, Eclipse, CLion, etc.).

## Get the Git Submodules

AFF3CT depends on some other Git repositories (or submodules). It is highly recommended to get those submodules before trying to do anything else. Here is the command to get all the required submodules:

    $ git submodule update --init --recursive

## Example of a Makefile Project Generation (with the C++ GNU Compiler)

Open a terminal and type (from the `AFF3CT` root folder):

    $ mkdir build
    $ cd build
    $ cmake .. -G"Unix Makefiles" -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-funroll-loops -march=native -DMULTI_PREC"

## Compile the Code with the Makefile

    $ make -j4
<commit_msg>Up the readme.<commit_after># AFF3CT Short Presentation

**AFF3CT** (A Fast Forward Error Correction Tool!) is a library dedicated to the [Forward Error Correction](https://en.wikipedia.org/wiki/Forward_error_correction) (FEC or channel coding).
It is written in **C++11** and it supports a large range of codes: from the well-spread **Turbo codes** to the very new **Polar codes** including the **Low-Density Parity-Check (LDPC) codes**.
AFF3CT can be used in two different ways, as:
- a dedicated **toolbox** or **library** for your projects, many modules (like codecs, modems, channels, ...) are available and easy to use,
- a **standalone application** for [Monte Carlo](https://en.wikipedia.org/wiki/Monte_Carlo_method) [BER/FER](https://en.wikipedia.org/wiki/Bit_error_rate) and [EXIT chart](https://en.wikipedia.org/wiki/EXIT_chart) simulations.

The following section focuses on the compilation and the execution of the AFF3CT standalone application.

# How to Compile and Run the Code

This project use `cmake` in order to generate any type of projects (Makefile, Visual Studio, Eclipse, CLion, etc.).

## Get the Git Submodules

AFF3CT depends on some other Git repositories (or submodules). It is highly recommended to get those submodules before trying to do anything else. Here is the command to get all the required submodules:

    $ git submodule update --init --recursive

## Example of a Makefile Project Generation (with the C++ GNU Compiler)

Open a terminal and type (from the `AFF3CT` root folder):

    $ mkdir build
    $ cd build
    $ cmake .. -G"Unix Makefiles" -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-funroll-loops -march=native -DMULTI_PREC"

## Compile the Code with the Makefile

    $ make -j4

{'fraction_non_alphanumeric': 0.09791425260718424, 'fraction_numerical': 0.005214368482039398, 'mean_word_length': 4.507177033492823, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2288556', 'n_tokens_mistral': 1032, 'n_tokens_neox': 998, 'n_words': 428}