Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::fir_design_detail Namespace Reference

Functions

bool is_forced_zero_endpoint (LinearPhaseFirType type, double omega) noexcept
bool valid_type_length (LinearPhaseFirType type, std::size_t count) noexcept
std::size_t independent_coefficient_count (LinearPhaseFirType type, std::size_t count) noexcept
double basis_value (LinearPhaseFirType type, std::size_t column, double omega) noexcept
void clear_payload (FirLeastSquaresResult &result) noexcept
void clear_payload (MinimumPhaseFirResult &result) noexcept
bool is_power_of_two (std::size_t value) noexcept
bool admit_minimum_phase_workspace (std::size_t fft_size, std::size_t bins, std::size_t coefficients, std::uint64_t limit) noexcept
bool admit_least_squares_workspace (std::size_t rows, std::size_t columns, std::size_t taps, std::uint64_t limit) noexcept
void reconstruct_coefficients (LinearPhaseFirType type, std::span< const double > independent, std::span< double > coefficients) noexcept
bool solve_dense_in_place (std::vector< double > &matrix, std::vector< double > &rhs, std::size_t n) noexcept
 Solve a small dense square system in place by Gaussian elimination with partial pivoting.
void clear_payload (FirEquirippleResult &result) noexcept

Variables

constexpr double pi = 3.141592653589793238462643383279502884

Function Documentation

◆ admit_least_squares_workspace()

bool pulp::signal::fir_design_detail::admit_least_squares_workspace ( std::size_t rows,
std::size_t columns,
std::size_t taps,
std::uint64_t limit )
inlinenoexcept

◆ admit_minimum_phase_workspace()

bool pulp::signal::fir_design_detail::admit_minimum_phase_workspace ( std::size_t fft_size,
std::size_t bins,
std::size_t coefficients,
std::uint64_t limit )
inlinenoexcept

◆ basis_value()

double pulp::signal::fir_design_detail::basis_value ( LinearPhaseFirType type,
std::size_t column,
double omega )
inlinenoexcept

◆ clear_payload() [1/3]

void pulp::signal::fir_design_detail::clear_payload ( FirEquirippleResult & result)
inlinenoexcept

◆ clear_payload() [2/3]

void pulp::signal::fir_design_detail::clear_payload ( FirLeastSquaresResult & result)
inlinenoexcept

◆ clear_payload() [3/3]

void pulp::signal::fir_design_detail::clear_payload ( MinimumPhaseFirResult & result)
inlinenoexcept

◆ independent_coefficient_count()

std::size_t pulp::signal::fir_design_detail::independent_coefficient_count ( LinearPhaseFirType type,
std::size_t count )
inlinenoexcept

◆ is_forced_zero_endpoint()

bool pulp::signal::fir_design_detail::is_forced_zero_endpoint ( LinearPhaseFirType type,
double omega )
inlinenoexcept

◆ is_power_of_two()

bool pulp::signal::fir_design_detail::is_power_of_two ( std::size_t value)
inlinenoexcept

◆ reconstruct_coefficients()

void pulp::signal::fir_design_detail::reconstruct_coefficients ( LinearPhaseFirType type,
std::span< const double > independent,
std::span< double > coefficients )
inlinenoexcept

◆ solve_dense_in_place()

bool pulp::signal::fir_design_detail::solve_dense_in_place ( std::vector< double > & matrix,
std::vector< double > & rhs,
std::size_t n )
inlinenoexcept

Solve a small dense square system in place by Gaussian elimination with partial pivoting.

Deterministic: the pivot is the largest magnitude in the column, ties broken by the lowest row index.

◆ valid_type_length()

bool pulp::signal::fir_design_detail::valid_type_length ( LinearPhaseFirType type,
std::size_t count )
inlinenoexcept

Variable Documentation

◆ pi

double pulp::signal::fir_design_detail::pi = 3.141592653589793238462643383279502884
inlineconstexpr