|
| Vector< OutputType > | operator() (const Vector< InputType > &in) |
| | Apply the block element-wise to each vector entry.
|
| Vector< OutputType > | operator() (Vector< InputType > &&in) |
| | Apply the block element-wise (rvalue input).
|
| Matrix< OutputType > | operator() (const Matrix< InputType > &in) |
| | Apply the block element-wise to each matrix entry.
|
| Matrix< OutputType > | operator() (Matrix< InputType > &&in) |
| | Apply the block element-wise (rvalue input).
|
| template<FiniteFieldType U> |
| OutputType | operator() (const U &) |
| | Catch-all for inputs whose element type differs from InputType.
|
| template<FiniteFieldType U> |
| Vector< OutputType > | operator() (const Vector< U > &) |
| template<FiniteFieldType U> |
| Matrix< OutputType > | operator() (const Matrix< U > &) |
template<typename T, typename InputType, typename OutputType>
class CECCO::details::BlockProcessor< T, InputType, OutputType >
CRTP base providing element-wise, vector, and matrix operator() overloads.
- Template Parameters
-
| T | Derived class (CRTP) |
| InputType | Element type accepted by the block |
| OutputType | Element type produced by the block |
Derived blocks implement a single-element operator()(const InputType&); this base then generates Vector<OutputType> operator()(const Vector<InputType>&) and the matrix counterpart (plus rvalue versions, with in-place reuse when InputType == OutputType).
Catch-all overloads accept any other CECCO::FiniteFieldType and throw at runtime ā useful inside if constexpr (std::is_same_v<F, InputType>) guards in non-template contexts, where the discarded branch must still compile.
message >> map >> awgn >> demap >> r;
Additive White Gaussian Noise channel for complex-valued symbols.
BPSK hard-decision demapper ā NRZDemapper with threshold 0.
Binary Phase Shift Keying mapper ā NRZMapper with a = 0, b = 2.
constexpr double get_b() const noexcept
Constellation distance parameter b.
constexpr double get_a() const noexcept
DC offset parameter a.
Vector v = (vā, vā, ā¦, vāāā) over a CECCO::ComponentType.
Definition at line 86 of file blocks.hpp.
template<typename T, typename InputType, typename OutputType>
template<FiniteFieldType U>
Catch-all for inputs whose element type differs from InputType.
- Template Parameters
-
Always throws std::logic_error at runtime. See the class doc for the if constexpr use case that motivates these overloads.
Definition at line 160 of file blocks.hpp.