|
C(++)ECCO
C++ Error Control COding: a header-only library for ECC simulations and experiments, modeling complete coding systems across arbitrary finite fields and complex inter-field relationships - Christian Senger <senger@inue.uni-stuttgart.de>
|
#include <codes.hpp>

Public Member Functions | |
| Code (size_t n) noexcept | |
| Code (const Code &other) noexcept | |
| Code (Code &&) noexcept=default | |
| virtual | ~Code ()=default |
| Code & | operator= (const Code &other) noexcept |
| Code & | operator= (Code &&) noexcept=default |
| size_t | get_n () const noexcept |
| virtual void | get_info (std::ostream &) const |
| virtual Vector< T > | enc (const Vector< T > &) const |
| virtual Vector< T > | encinv (const Vector< T > &) const |
| virtual Vector< T > | dec_BD (const Vector< T > &) const |
| virtual Vector< T > | dec_standard_array (const Vector< T > &) const |
| virtual Vector< T > | dec_BD_standard_array (const Vector< T > &) const |
| virtual Vector< T > | dec_boosted_BD_standard_array (const Vector< T > &) const |
| virtual Vector< T > | dec_ML (const Vector< T > &) const |
| virtual Vector< T > | dec_Viterbi (const Vector< T > &, const std::string &="") const |
| virtual std::vector< Vector< T > > | dec_Viterbi_list (const Vector< T > &, size_t) const |
| virtual Vector< T > | dec_recursive (const Vector< T > &) const |
| virtual Vector< T > | dec_Meggitt (const Vector< T > &) const |
| virtual Vector< T > | dec_WBA (const Vector< T > &) const |
| virtual Vector< T > | dec_WBA_optimized (const Vector< T > &) const |
| virtual Vector< T > | dec_BMA (const Vector< T > &) const |
| virtual std::vector< Vector< T > > | dec_SA_list (const Vector< T > &, size_t=SA_LIST_SIZE) const |
| virtual std::vector< Vector< T > > | dec_SA_list_optimized (const Vector< T > &, size_t=SA_LIST_SIZE) const |
| virtual std::vector< Vector< T > > | dec_GSA_list (const Vector< T > &, size_t=GSA_MULTIPLICITY, size_t=GSA_LIST_SIZE) const |
| virtual std::vector< Vector< T > > | dec_GSA_list_optimized (const Vector< T > &, size_t=GSA_MULTIPLICITY, size_t=GSA_LIST_SIZE) const |
| virtual Vector< T > | dec_ML_soft (const Vector< double > &) const |
| virtual Vector< T > | dec_ML_soft (const Matrix< double > &) const |
| virtual Vector< T > | dec_Viterbi_soft (const Vector< double > &, const std::string &="") const |
| virtual Vector< T > | dec_Viterbi_soft (const Matrix< double > &, const std::string &="") const |
| virtual std::vector< Vector< T > > | dec_Viterbi_soft_list (const Vector< double > &, size_t) const |
| virtual std::vector< Vector< T > > | dec_Viterbi_soft_list (const Matrix< double > &, size_t) const |
| virtual Vector< T > | dec_BCJR (const Vector< double > &, Matrix< double > *=nullptr, const std::string &="") const |
| virtual Vector< T > | dec_BCJR (const Matrix< double > &, Matrix< double > *=nullptr, const std::string &="") const |
| virtual Vector< T > | dec_ssMAP (const Vector< double > &, Matrix< double > *=nullptr, const std::string &="") const |
| virtual Vector< T > | dec_ssMAP (const Matrix< double > &, Matrix< double > *=nullptr, const std::string &="") const |
| virtual Vector< T > | dec_BP (const Vector< double > &, size_t=BP_MAX_ITERATIONS, Matrix< double > *=nullptr, const std::string &="", size_t *=nullptr) const |
| virtual Vector< T > | dec_BP (const Matrix< double > &, size_t=BP_MAX_ITERATIONS, Matrix< double > *=nullptr, const std::string &="", size_t *=nullptr) const |
| virtual Vector< T > | dec_OSD (const Vector< double > &, size_t=OSD_ORDER) const |
| virtual Vector< T > | dec_OSD (const Matrix< double > &, size_t=OSD_ORDER) const |
| virtual Vector< T > | dec_LC_OSD (const Vector< double > &, size_t=LC_OSD_DELTA, size_t=LC_OSD_LIST_SIZE) const |
| virtual Vector< T > | dec_LC_OSD (const Matrix< double > &, size_t=LC_OSD_DELTA, size_t=LC_OSD_LIST_SIZE) const |
| virtual std::vector< Vector< T > > | dec_KVA_list (const Vector< double > &, size_t=KVA_STRENGTH, size_t=KVA_LIST_SIZE) const |
| virtual std::vector< Vector< T > > | dec_KVA_list (const Matrix< double > &, size_t=KVA_STRENGTH, size_t=KVA_LIST_SIZE) const |
| virtual Vector< T > | dec_BD_EE (const Vector< T > &) const |
| virtual Vector< T > | dec_BD_standard_array_EE (const Vector< T > &) const |
| virtual Vector< T > | dec_ML_EE (const Vector< T > &) const |
| virtual Vector< T > | dec_Viterbi_EE (const Vector< T > &, const std::string &="") const |
| virtual Vector< T > | dec_recursive_EE (const Vector< T > &) const |
| virtual Vector< T > | dec_WBA_EE (const Vector< T > &) const |
| virtual Vector< T > | dec_BMA_EE (const Vector< T > &) const |
| virtual Vector< T > | dec_GMD (const Vector< double > &) const |
| virtual Vector< T > | dec_GMD (const Matrix< double > &) const |
Protected Member Functions | |
| template<class BASE> | |
| bool | info_prelude (std::ostream &os) const |
| std::vector< size_t > | erasure_positions (const Vector< T > &r) const |
Protected Attributes | |
| size_t | n |
|
inlinenoexcept |
|
inlinenoexcept |
|
defaultnoexcept |
|
virtualdefault |
|
inlinevirtual |
Reimplemented in CECCO::LinearCode< T >.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CECCO::AugmentedCode< T, B >, CECCO::ConvolutionalCode< T >, CECCO::ExtendedCode< T, B >, CECCO::GRSCode< T >, CECCO::HammingCode< T >, CECCO::LinearCode< T >, CECCO::LinearCode< B::FIELD::BASE_FIELD >, CECCO::LinearCode< BU::FIELD >, CECCO::LinearCode< Fp< 2 > >, CECCO::RepetitionCode< T >, CECCO::SimplexCode< T >, CECCO::SingleParityCheckCode< T >, and CECCO::UniverseCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::AugmentedCode< T, B >, CECCO::ConvolutionalCode< T >, CECCO::ExtendedCode< T, B >, CECCO::GRSCode< T >, CECCO::HammingCode< T >, CECCO::LinearCode< T >, CECCO::LinearCode< B::FIELD::BASE_FIELD >, CECCO::LinearCode< BU::FIELD >, CECCO::LinearCode< Fp< 2 > >, CECCO::RepetitionCode< T >, CECCO::SimplexCode< T >, CECCO::SingleParityCheckCode< T >, and CECCO::UniverseCode< T >.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CECCO::GRSCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::GRSCode< T >.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CECCO::LinearCode< T >.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CECCO::LinearCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::LinearCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::GRSCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::GRSCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::AlternantCode< B >, CECCO::AlternantCode< GRSCode< SUPER > >, and CECCO::GRSCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::AlternantCode< B >, CECCO::AlternantCode< GRSCode< SUPER > >, and CECCO::GRSCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::LinearCode< T >.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CECCO::AugmentedCode< T, B >, CECCO::ConvolutionalCode< T >, CECCO::ExtendedCode< T, B >, CECCO::HammingCode< T >, CECCO::LinearCode< T >, CECCO::LinearCode< B::FIELD::BASE_FIELD >, CECCO::LinearCode< BU::FIELD >, CECCO::LinearCode< Fp< 2 > >, CECCO::RepetitionCode< T >, CECCO::SimplexCode< T >, CECCO::SingleParityCheckCode< T >, and CECCO::UniverseCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::AugmentedCode< T, B >, CECCO::ConvolutionalCode< T >, CECCO::ExtendedCode< T, B >, CECCO::HammingCode< T >, CECCO::LinearCode< T >, CECCO::LinearCode< B::FIELD::BASE_FIELD >, CECCO::LinearCode< BU::FIELD >, CECCO::LinearCode< Fp< 2 > >, CECCO::RepetitionCode< T >, CECCO::SimplexCode< T >, CECCO::SingleParityCheckCode< T >, and CECCO::UniverseCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::LinearCode< T >, and CECCO::SimplexCode< T >.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CECCO::LinearCode< T >.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CECCO::GRSCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::GRSCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::LinearCode< T >.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CECCO::LinearCode< T >.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CECCO::LinearCode< T >.
|
inlinevirtual |
|
inlinevirtual |
Reimplemented in CECCO::GRSCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::GRSCode< T >.
|
inlinevirtual |
Reimplemented in CECCO::GRSCode< T >.
|
inlinevirtual |
|
inlinevirtual |
|
inlineprotected |
|
inlinevirtual |
Reimplemented in CECCO::AlternantCode< B >, CECCO::AlternantCode< GRSCode< SUPER > >, CECCO::AugmentedCode< T, B >, CECCO::BCHCode< B >, CECCO::ConvolutionalCode< T >, CECCO::CordaroWagnerCode, CECCO::EmptyCode< T >, CECCO::ExtendedCode< T, B >, CECCO::GolayCode< T >, CECCO::GoppaCode< SUPER >, CECCO::GRSCode< T >, CECCO::HammingCode< T >, CECCO::LDCCode< BU, BV >, CECCO::LinearCode< T >, CECCO::LinearCode< B::FIELD::BASE_FIELD >, CECCO::LinearCode< BU::FIELD >, CECCO::LinearCode< Fp< 2 > >, CECCO::RepetitionCode< T >, CECCO::RMCode, CECCO::RSCode< T >, CECCO::SimplexCode< T >, CECCO::SingleParityCheckCode< T >, CECCO::SubfieldSubcode< B >, CECCO::UniverseCode< T >, and CECCO::ZeroCode< T >.
|
inlinenoexcept |
|
inlineprotected |
|
defaultnoexcept |
|
inlinenoexcept |
|
protected |