Versioned, canonical identity carried by every routed spectral batch. More...
#include <spectral_frame.hpp>
Public Member Functions | |
| std::array< std::uint8_t, encoded_size > | encode () const noexcept |
| Canonical little-endian value encoding. | |
Static Public Member Functions | |
| static SpectralResult< SpectralFrameContract > | decode (std::span< const std::uint8_t > bytes) noexcept |
Public Attributes | |
| std::uint16_t | version = 1 |
| std::uint16_t | profile = 1 |
| std::uint32_t | fft_size = 0 |
| std::uint32_t | hop = 0 |
| std::uint16_t | channels = 0 |
| std::uint16_t | bins = 0 |
| std::uint64_t | sample_rate_bits = 0 |
| std::uint8_t | window = 1 |
| std::uint8_t | phase = 1 |
| std::uint8_t | normalization = 1 |
| std::uint8_t | precision = 1 |
Static Public Attributes | |
| static constexpr std::size_t | encoded_size = 32 |
Friends | |
| bool | operator== (const SpectralFrameContract &, const SpectralFrameContract &)=default |
Versioned, canonical identity carried by every routed spectral batch.
These fields are semantic data, not an object-layout or enum ordinal.
|
inlinestaticnodiscardnoexcept |
|
inlinenodiscardnoexcept |
Canonical little-endian value encoding.
The representation is fixed at 32 bytes and is independent of C++ padding, enum values, or host ABI.
|
friend |
| std::uint16_t pulp::graph::SpectralFrameContract::bins = 0 |
| std::uint16_t pulp::graph::SpectralFrameContract::channels = 0 |
|
staticconstexpr |
| std::uint32_t pulp::graph::SpectralFrameContract::fft_size = 0 |
| std::uint32_t pulp::graph::SpectralFrameContract::hop = 0 |
| std::uint8_t pulp::graph::SpectralFrameContract::normalization = 1 |
| std::uint8_t pulp::graph::SpectralFrameContract::phase = 1 |
| std::uint8_t pulp::graph::SpectralFrameContract::precision = 1 |
| std::uint16_t pulp::graph::SpectralFrameContract::profile = 1 |
| std::uint64_t pulp::graph::SpectralFrameContract::sample_rate_bits = 0 |
| std::uint16_t pulp::graph::SpectralFrameContract::version = 1 |
| std::uint8_t pulp::graph::SpectralFrameContract::window = 1 |