|
| constexpr bool | pulp::signal::detail::is_power_of_two (int value) noexcept |
| constexpr std::size_t | pulp::signal::detail::fft_twiddle_index (int phase_index, int stride) noexcept |
| template<typename SampleType> |
| bool | pulp::signal::checked_fft_platform_setup_bytes (std::uint64_t fft_size, std::uint64_t target_max_bytes, std::uint64_t &bytes) noexcept |
| template<typename SampleType> |
| constexpr bool | pulp::signal::detail::fft_real_split_needs_scratch (std::uint64_t fft_size) noexcept |
| | Whether a FftT of fft_size points keeps a real_bins()-long complex scratch for the split-spectrum path (FftRealSplit): every size the portable real transform serves, which is all of them except vDSP's float sizes.
|
| template<typename SampleType> |
| bool | pulp::signal::checked_fft_retained_bytes (std::uint64_t fft_size, std::uint64_t target_max_bytes, std::uint64_t &bytes) noexcept |
| | Complete retained-storage contract for one prepared FftT.
|
| template<typename SampleType> |
| void | pulp::signal::detail::multiply_packed_split (const SampleType *a_re, const SampleType *a_im, const SampleType *b_re, const SampleType *b_im, SampleType *out_re, SampleType *out_im, int half) noexcept |
| | Product of two packed split spectra of half = size() / 2 slots each (see FftRealSplit): bin k of out is bin k of a times bin k of b for k = 1..half-1, and slot 0's DC and Nyquist reals multiply separately.
|
| template<typename SampleType> |
| void | pulp::signal::detail::multiply_accumulate_packed_split (const SampleType *a_re, const SampleType *a_im, const SampleType *b_re, const SampleType *b_im, SampleType *acc_re, SampleType *acc_im, int half) noexcept |
| | acc += a * b over packed split spectra, with the product as in multiply_packed_split().
|