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::Lut2D< LabelType, FieldSize > Struct Template Reference

2D lookup table for commutative binary operations, optionally compressed More...

#include <fields.hpp>

Inheritance diagram for CECCO::details::Lut2D< LabelType, FieldSize >:
Inheritance graph

Public Member Functions

constexpr LabelType & operator() (size_t i, size_t j)
 Mutable access (used during table construction).
constexpr LabelType operator() (size_t i, size_t j) const noexcept
 Const access (used during field operations).

Detailed Description

template<typename LabelType, size_t FieldSize>
struct CECCO::details::Lut2D< LabelType, FieldSize >

2D lookup table for commutative binary operations, optionally compressed

Template Parameters
LabelTypeLabel integer type
FieldSizeNumber of field elements

For FieldSizeCECCO_COMPRESS_LUTS_FROM_Q, only the upper triangle is stored (saving ~50 % memory); the access operators normalise the index pair so callers don't see the difference.

Definition at line 820 of file fields.hpp.

Member Function Documentation

◆ operator()() [1/2]

template<typename LabelType, size_t FieldSize>
LabelType & CECCO::details::Lut2D< LabelType, FieldSize >::operator() ( size_t i,
size_t j )
inlineconstexpr

Mutable access (used during table construction).

Definition at line 822 of file fields.hpp.

◆ operator()() [2/2]

template<typename LabelType, size_t FieldSize>
LabelType CECCO::details::Lut2D< LabelType, FieldSize >::operator() ( size_t i,
size_t j ) const
inlineconstexprnoexcept

Const access (used during field operations).

Definition at line 836 of file fields.hpp.


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