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>
Loading...
Searching...
No Matches
CECCO::details::IsomorphismPair< A, B > Struct Template Reference

Shared static storage of the forward and reverse maps for the isomorphism A ↔ B. More...

#include <fields.hpp>

Static Public Member Functions

static void compute_if_needed ()
 Compute and cache both maps on first call (no-op afterwards).

Static Public Attributes

static std::once_flag computed_flag
static std::vector< size_t > forward_iso
static std::vector< size_t > reverse_iso

Detailed Description

template<FiniteFieldType A, FiniteFieldType B>
requires Isomorphic<A, B>
struct CECCO::details::IsomorphismPair< A, B >

Shared static storage of the forward and reverse maps for the isomorphism A ↔ B.

Template Parameters
AFirst finite field
BSecond finite field (Isomorphic<A, B>)

Lets both Isomorphism<A, B> and Isomorphism<B, A> share one cached pair of maps, computed exactly once per template instantiation.

Definition at line 1445 of file fields.hpp.

Member Function Documentation

◆ compute_if_needed()

template<FiniteFieldType A, FiniteFieldType B>
void CECCO::details::IsomorphismPair< A, B >::compute_if_needed ( )
inlinestatic

Compute and cache both maps on first call (no-op afterwards).

Definition at line 1451 of file fields.hpp.

Member Data Documentation

◆ computed_flag

template<FiniteFieldType A, FiniteFieldType B>
std::once_flag CECCO::details::details::IsomorphismPair::computed_flag
static

Definition at line 1446 of file fields.hpp.

◆ forward_iso

template<FiniteFieldType A, FiniteFieldType B>
std::vector< size_t > CECCO::details::details::IsomorphismPair::forward_iso
static

Definition at line 1447 of file fields.hpp.

◆ reverse_iso

template<FiniteFieldType A, FiniteFieldType B>
std::vector< size_t > CECCO::details::details::IsomorphismPair::reverse_iso
static

Definition at line 1448 of file fields.hpp.


The documentation for this struct was generated from the following file: