| CCECCO::details::Base | Tag base for the CRTP-protection idiom |
| CCECCO::details::Field< Ext< B, modulus, LutMode::RunTime > > | |
| CCECCO::Ext< B, modulus, mode > | Extension field š½_{q^m} ā
B[x]/(f(x)), constructed from a base field and an irreducible monic modulus polynomial |
| CCECCO::details::Field< Fp< p > > | |
| CCECCO::Fp< 2 > | |
| CCECCO::Fp< A::get_p()> | |
| CCECCO::Fp< p > | Prime field š½_p ā
ā¤/p⤠|
| CCECCO::details::Field< Rationals< InfInt > > | |
| CCECCO::Rationals< T > | Field of rational numbers ā = { p/q : p, q ā ā¤, q ā 0 } with selectable precision |
| CCECCO::Iso< MAIN, OTHERS > | Single logical field unifying several pairwise-isomorphic representations |
| CCECCO::details::Field< T > | CRTP base documenting the interface every field type must provide |
| CCECCO::Trellis< T >::BCJR_Workspace | Workspace for binary BCJR forward-backward decoding |
| Cstd::bool_constant | |
| CCECCO::details::contains< T, type_list< Types... > > | |
| CCECCO::details::is_subfield_of< Ext< B, modulus, mode >, SUB > | |
| CCECCO::details::is_subfield_of< Ext< B_SUP, modulus_SUP, mode_SUP >, Ext< B_SUB, modulus_SUB, mode_SUB > > | |
| CCECCO::details::is_subfield_of< Iso< MAIN, OTHERS... >, SUB > | |
| CCECCO::details::Cache< ENTRIES > | Heterogeneous cache indexed by entry ID |
| CCECCO::details::CacheEntry< ID, T > | Cache entry specification |
| CCECCO::Code< T > | |
| CCECCO::LinearCode< Fp< 2 > > | |
| CCECCO::CordaroWagnerCode | |
| CCECCO::RMCode | |
| CCECCO::LinearCode< BU::FIELD > | |
| CCECCO::LDCCode< BU, BV > | |
| CCECCO::LinearCode< B::FIELD::BASE_FIELD > | |
| CCECCO::SubfieldSubcode< B > | |
| CCECCO::AlternantCode< GRSCode< SUPER > > | |
| CCECCO::GoppaCode< SUPER > | |
| CCECCO::AlternantCode< B > | |
| CCECCO::BCHCode< B > | |
| CCECCO::EmptyCode< T > | |
| CCECCO::LinearCode< T > | |
| CCECCO::AugmentedCode< T, B > | |
| CCECCO::ExtendedCode< T, B > | |
| CCECCO::GRSCode< T > | |
| CCECCO::RSCode< T > | |
| CCECCO::GolayCode< T > | |
| CCECCO::HammingCode< T > | |
| CCECCO::RepetitionCode< T > | |
| CCECCO::SimplexCode< T > | |
| CCECCO::SingleParityCheckCode< T > | |
| CCECCO::UniverseCode< T > | |
| CCECCO::ZeroCode< T > | |
| CCECCO::CodewordIterator< T > | |
| CCECCO::details::collect_subfields< F > | All subfields of F (including F itself), as a type_list |
| CCECCO::details::collect_subfields< Ext< B, modulus, mode > > | |
| CCECCO::details::collect_subfields< Fp< p > > | |
| CCECCO::details::collect_subfields< Iso< MAIN, OTHERS... > > | |
| CCECCO::details::contains< T, List > | Check if a type exists in a type_list |
| CCECCO::Dec< T > | |
| CCECCO::details::degree_over_prime< T > | Total extension degree of T over its prime field |
| CCECCO::details::degree_over_prime< Ext< B, modulus, mode > > | |
| CCECCO::details::degree_over_prime< Fp< p > > | |
| CCECCO::details::degree_over_prime< Iso< MAIN, OTHERS... > > | |
| CCECCO::details::Edge< T > | Edge between two adjacent trellis layers |
| CCECCO::Embedding< SUBFIELD, SUPERFIELD > | Functor representing the field embedding Ļ: SUBFIELD ā SUPERFIELD, with reverse lookup |
| CCECCO::Enc< T > | |
| CCECCO::Encinv< T > | |
| Cstd::exception | |
| CCECCO::decoding_failure | |
| CInfIntException | |
| Cstd::false_type | |
| CCECCO::details::is_subfield_of< Ext< B, modulus, mode >, Ext< B, modulus, mode > > | |
| CCECCO::details::is_subfield_of< Ext< B, modulus, mode >, SUB > | |
| CCECCO::details::is_subfield_of< Ext< B_SUP, modulus_SUP, mode_SUP >, Ext< B_SUB, modulus_SUB, mode_SUB > > | |
| CCECCO::details::is_subfield_of< Fp< p >, Fp< p > > | |
| CCECCO::details::is_subfield_of< Iso< MAIN, OTHERS... >, Iso< MAIN, OTHERS... > > | |
| CCECCO::details::is_subfield_of< Iso< MAIN, OTHERS... >, SUB > | |
| CCECCO::details::is_subfield_of< Iso< SUP_MAIN, SUP_OTHERS... >, Iso< SUB_MAIN, SUB_OTHERS... > > | |
| CCECCO::details::is_subfield_of< SUPERFIELD, SUBFIELD > | Construction-based subfield test: SUBFIELD reachable by descending SUPERFIELD's tower |
| CCECCO::details::FiniteFieldHasher< T > | |
| CInfInt | |
| CInfIntHasher | |
| CCECCO::details::intersect_type_lists< List1, List2 > | Intersection of two type_lists |
| CCECCO::details::intersect_type_lists< type_list< Types1... >, type_list< Types2... > > | |
| CCECCO::details::iso_info< T > | Detect whether T is an Iso and expose its components |
| CCECCO::details::iso_info< Iso< MAIN, OTHERS... > > | Specialization of iso_info for Iso<MAIN, OTHERS...> |
| CCECCO::Isomorphism< A, B > | Functor representing the field isomorphism Ļ: A ā B between two same-size finite fields |
| CCECCO::details::IsomorphismPair< A, B > | Shared static storage of the forward and reverse maps for the isomorphism A ā B |
| CCECCO::details::largest_common_subfield< F, G > | Largest field that appears as a subfield of both F and G |
| CCECCO::details::largest_field_in_list< List > | Find the largest field (by get_size()) in a type_list |
| CCECCO::details::largest_field_in_list< type_list< T > > | |
| CCECCO::details::largest_field_in_list< type_list< T1, T2, Rest... > > | |
| CCECCO::details::Lut1D< LabelType, FieldSize > | 1D lookup table for unary field operations (negation, inversion, order) |
| CCECCO::details::Lut2D< LabelType, FieldSize > | 2D lookup table for commutative binary operations, optionally compressed |
| CCECCO::details::Lut2Dcoeff< LabelType, ExtensionDegree, FieldSize > | Lookup table mapping each extension-field label to its base-field coefficient vector |
| CCECCO::details::LutHolder< LutType, ProviderLutType, P, F, mode > | Holds a LUT generated by F(P); P provides a dependency table |
| CCECCO::details::LutHolder< LutType, ProviderLutType, P, F, LutMode::CompileTime > | CompileTime specialisation: table baked into the binary |
| CCECCO::details::LutHolder< LutType, ProviderLutType, P, F, LutMode::RunTime > | RunTime specialisation: thread-safe lazy initialisation, dependency resolved on first access |
| CCECCO::details::LutHolderNoProvider< LutType, F, mode > | Holds a LUT generated by F() (no dependencies); selects compile-time or lazy storage |
| CCECCO::details::LutHolderNoProvider< LutType, F, LutMode::CompileTime > | CompileTime specialisation: table is a constexpr static member |
| CCECCO::details::LutHolderNoProvider< LutType, F, LutMode::RunTime > | RunTime specialisation: thread-safe lazy initialisation on first access |
| CCECCO::Matrix< T > | Dense m Ć n matrix over a CECCO::ComponentType |
| CCECCO::details::NonCopyable | Mixin that deletes the copy operations and defaults the move operations |
| CCECCO::details::BlockProcessor< T, ElementType, ElementType > | |
| CCECCO::SDMEC< Fp< 2 > > | |
| CCECCO::BEC | Binary Erasure Channel ā symbols are received correctly or marked erased |
| CCECCO::AWGN | Additive White Gaussian Noise channel for complex-valued symbols |
| CCECCO::BAC | Binary Asymmetric Channel (Z-channel) ā 0 is preserved; 1 flips to 0 with probability p |
| CCECCO::SDMEC< T > | Symmetric Discrete Memoryless Erasure Channel (SDMEC) over any finite field š½_q |
| CCECCO::SDMC< Fp< 2 > > | |
| CCECCO::SDMC< T > | Symmetric Discrete Memoryless Channel ā errors only, no erasures |
| CCECCO::details::BlockProcessor< T, Fp< 2 >, std::complex< double > > | |
| CCECCO::NRZMapper | Non-Return-to-Zero (NRZ) mapper for binary modulation |
| CCECCO::BPSKMapper | Binary Phase Shift Keying mapper ā NRZMapper with a = 0, b = 2 |
| CCECCO::details::BlockProcessor< T, std::complex< double >, Fp< 2 > > | |
| CCECCO::NRZDemapper | Non-Return-to-Zero (NRZ) hard-decision demapper |
| CCECCO::BPSKDemapper | BPSK hard-decision demapper ā NRZDemapper with threshold 0 |
| CCECCO::details::BlockProcessor< T, std::complex< double >, double > | |
| CCECCO::LLRCalculator | Log-Likelihood Ratio calculator for NRZ-over-AWGN soft demodulation |
| CCECCO::details::BlockProcessor< BI_AWGN, Fp< 2 >, std::complex< double > > | |
| CCECCO::BI_AWGN | Binary-Input AWGN ā fused NRZMapper + AWGN block |
| CCECCO::DEMUX< E, S > | Field demultiplexer ā expand š½_E elements into š½_S coefficient vectors/matrices |
| CCECCO::MUX< S, E > | Field multiplexer ā reconstruct š½_E elements from š½_S coefficients |
| CCECCO::details::BlockProcessor< T, InputType, OutputType > | CRTP base providing element-wise, vector, and matrix operator() overloads |
| CCECCO::details::OnceCache< T > | Thread-safe single-value cache |
| CCECCO::Polynomial< T > | Univariate polynomial p(x) = aā + aāx + ⦠+ aāxāæ over a CECCO::ComponentType |
| CCECCO::RNG | Thread-local random number generator with shared seeding policy |
| CCECCO::Trellis< T > | Trellis with field-labelled edges between consecutive layers |
| Cstd::true_type | |
| CCECCO::details::is_subfield_of< Ext< B, modulus, mode >, Ext< B, modulus, mode > > | |
| CCECCO::details::is_subfield_of< Fp< p >, Fp< p > > | |
| CCECCO::details::is_subfield_of< Iso< MAIN, OTHERS... >, Iso< MAIN, OTHERS... > > | |
| CCECCO::details::type_list< Types > | Compile-time type list utility for subfield calculations |
| CCECCO::details::union_all_subfields< Types > | |
| CCECCO::details::union_all_subfields< T > | |
| CCECCO::details::union_all_subfields< T1, T2, Rest... > | |
| CCECCO::details::union_all_subfields<> | |
| CCECCO::details::union_type_lists< List1, List2 > | Union of two type_lists (removes duplicates) |
| CCECCO::details::union_type_lists< type_list< Types1... >, type_list< Types2... > > | |
| CCECCO::Vector< T > | Vector v = (vā, vā, ā¦, vāāā) over a CECCO::ComponentType |
| CCECCO::details::Vertex< T > | Vertex in one trellis layer |
| CCECCO::Trellis< T >::Viterbi_Workspace< cost_t > | Workspace for Viterbi decoding on this trellis |