|
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>
|
| NCECCO | Provides a framework for error correcting codes |
| Ndetails | Contains implementation details not to be exposed to the user. Functions and classes here may change without notice |
| CBlockProcessor | CRTP base providing element-wise, vector, and matrix operator() overloads |
| Cdegree_over_prime | Total extension degree of T over its prime field |
| Cdegree_over_prime< Fp< p > > | |
| Cdegree_over_prime< Ext< B, modulus, mode > > | |
| Cdegree_over_prime< Iso< MAIN, OTHERS... > > | |
| Cis_subfield_of | Construction-based subfield test: SUBFIELD reachable by descending SUPERFIELD's tower |
| Cis_subfield_of< Fp< p >, Fp< p > > | |
| Cis_subfield_of< Ext< B, modulus, mode >, SUB > | |
| Cis_subfield_of< Ext< B, modulus, mode >, Ext< B, modulus, mode > > | |
| Cis_subfield_of< Ext< B_SUP, modulus_SUP, mode_SUP >, Ext< B_SUB, modulus_SUB, mode_SUB > > | |
| Cis_subfield_of< Iso< MAIN, OTHERS... >, SUB > | |
| Cis_subfield_of< Iso< MAIN, OTHERS... >, Iso< MAIN, OTHERS... > > | |
| Cis_subfield_of< Iso< SUP_MAIN, SUP_OTHERS... >, Iso< SUB_MAIN, SUB_OTHERS... > > | |
| Ctype_list | Compile-time type list utility for subfield calculations |
| Ccontains | Check if a type exists in a type_list |
| Ccontains< T, type_list< Types... > > | |
| Cunion_type_lists | Union of two type_lists (removes duplicates) |
| Cunion_type_lists< type_list< Types1... >, type_list< Types2... > > | |
| Cintersect_type_lists | Intersection of two type_lists |
| Cintersect_type_lists< type_list< Types1... >, type_list< Types2... > > | |
| Clargest_field_in_list | Find the largest field (by get_size()) in a type_list |
| Clargest_field_in_list< type_list< T > > | |
| Clargest_field_in_list< type_list< T1, T2, Rest... > > | |
| Ccollect_subfields | All subfields of F (including F itself), as a type_list |
| Ccollect_subfields< Fp< p > > | |
| Ccollect_subfields< Ext< B, modulus, mode > > | |
| Cunion_all_subfields | |
| Cunion_all_subfields<> | |
| Cunion_all_subfields< T > | |
| Cunion_all_subfields< T1, T2, Rest... > | |
| Ccollect_subfields< Iso< MAIN, OTHERS... > > | |
| Clargest_common_subfield | Largest field that appears as a subfield of both F and G |
| Ciso_info | Detect whether T is an Iso and expose its components |
| Ciso_info< Iso< MAIN, OTHERS... > > | Specialization of iso_info for Iso<MAIN, OTHERS...> |
| CNonCopyable | Mixin that deletes the copy operations and defaults the move operations |
| CBase | Tag base for the CRTP-protection idiom |
| CField | CRTP base documenting the interface every field type must provide |
| CLut1D | 1D lookup table for unary field operations (negation, inversion, order) |
| CLut2D | 2D lookup table for commutative binary operations, optionally compressed |
| CLut2Dcoeff | Lookup table mapping each extension-field label to its base-field coefficient vector |
| CLutHolderNoProvider | Holds a LUT generated by F() (no dependencies); selects compile-time or lazy storage |
| CLutHolderNoProvider< LutType, F, LutMode::CompileTime > | CompileTime specialisation: table is a constexpr static member |
| CLutHolderNoProvider< LutType, F, LutMode::RunTime > | RunTime specialisation: thread-safe lazy initialisation on first access |
| CLutHolder | Holds a LUT generated by F(P); P provides a dependency table |
| CLutHolder< LutType, ProviderLutType, P, F, LutMode::CompileTime > | CompileTime specialisation: table baked into the binary |
| CLutHolder< LutType, ProviderLutType, P, F, LutMode::RunTime > | RunTime specialisation: thread-safe lazy initialisation, dependency resolved on first access |
| CIsomorphismPair | Shared static storage of the forward and reverse maps for the isomorphism A ā B |
| CCacheEntry | Cache entry specification |
| CCache | Heterogeneous cache indexed by entry ID |
| COnceCache | Thread-safe single-value cache |
| CVertex | Vertex in one trellis layer |
| CEdge | Edge between two adjacent trellis layers |
| CFiniteFieldHasher | |
| CSDMEC | Symmetric Discrete Memoryless Erasure Channel (SDMEC) over any finite field š½_q |
| CSDMC | Symmetric Discrete Memoryless Channel ā errors only, no erasures |
| CBEC | Binary Erasure Channel ā symbols are received correctly or marked erased |
| CBAC | Binary Asymmetric Channel (Z-channel) ā 0 is preserved; 1 flips to 0 with probability p |
| CNRZMapper | Non-Return-to-Zero (NRZ) mapper for binary modulation |
| CBPSKMapper | Binary Phase Shift Keying mapper ā NRZMapper with a = 0, b = 2 |
| CAWGN | Additive White Gaussian Noise channel for complex-valued symbols |
| CBI_AWGN | Binary-Input AWGN ā fused NRZMapper + AWGN block |
| CNRZDemapper | Non-Return-to-Zero (NRZ) hard-decision demapper |
| CBPSKDemapper | BPSK hard-decision demapper ā NRZDemapper with threshold 0 |
| CLLRCalculator | Log-Likelihood Ratio calculator for NRZ-over-AWGN soft demodulation |
| CDEMUX | Field demultiplexer ā expand š½_E elements into š½_S coefficient vectors/matrices |
| CMUX | Field multiplexer ā reconstruct š½_E elements from š½_S coefficients |
| CCode | |
| CEmptyCode | |
| CLinearCode | |
| CUniverseCode | |
| CZeroCode | |
| CSimplexCode | |
| CSingleParityCheckCode | |
| CExtendedCode | |
| CCodewordIterator | |
| Cdecoding_failure | |
| CHammingCode | |
| CRepetitionCode | |
| CGolayCode | |
| CGRSCode | |
| CRSCode | |
| CCordaroWagnerCode | |
| CLDCCode | |
| CRMCode | |
| CSubfieldSubcode | |
| CAlternantCode | |
| CBCHCode | |
| CGoppaCode | |
| CAugmentedCode | |
| CEnc | |
| CDec | |
| CEncinv | |
| CRationals | Field of rational numbers ā = { p/q : p, q ā ā¤, q ā 0 } with selectable precision |
| CFp | Prime field š½_p ā ā¤/p⤠|
| CExt | Extension field š½_{q^m} ā B[x]/(f(x)), constructed from a base field and an irreducible monic modulus polynomial |
| CIso | Single logical field unifying several pairwise-isomorphic representations |
| CVector | Vector v = (vā, vā, ā¦, vāāā) over a CECCO::ComponentType |
| CPolynomial | Univariate polynomial p(x) = aā + aāx + ⦠+ aāxāæ over a CECCO::ComponentType |
| CMatrix | Dense m Ć n matrix over a CECCO::ComponentType |
| CEmbedding | Functor representing the field embedding Ļ: SUBFIELD ā SUPERFIELD, with reverse lookup |
| CIsomorphism | Functor representing the field isomorphism Ļ: A ā B between two same-size finite fields |
| CRNG | Thread-local random number generator with shared seeding policy |
| CTrellis | Trellis with field-labelled edges between consecutive layers |
| CViterbi_Workspace | Workspace for Viterbi decoding on this trellis |
| CBCJR_Workspace | Workspace for binary BCJR forward-backward decoding |
| CInfInt | |
| CInfIntException | |
| CInfIntHasher |