Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType > Class Template Reference

Dense Round-2 matrix facade. More...

#include <mod_matrix.hpp>

Public Member Functions

bool add_route (std::size_t source, std::size_t destination, SampleType depth)
void clear ()
std::size_t route_count () const
void set_source (std::size_t source, SampleType value)
SampleType source (std::size_t index) const
void reset ()
void process ()
SampleType get (std::size_t destination) const
SampleType worst_case_for (std::size_t destination) const

Static Public Attributes

static constexpr std::size_t kMaxRoutes = NumSources * NumDestinations
static constexpr std::size_t num_sources = NumSources
static constexpr std::size_t num_destinations = NumDestinations

Detailed Description

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
class pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >

Dense Round-2 matrix facade.

Unlike the slot-oriented ModMatrixT, this owns its source and destination arrays and reserves the complete N x M route cross-product. Keeping the two names distinct is necessary: their template signatures and reset/evaluation semantics are both public and cannot be represented by one C++ class template without making one call form invalid.

Member Function Documentation

◆ add_route()

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
bool pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::add_route ( std::size_t source,
std::size_t destination,
SampleType depth )
inline

◆ clear()

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
void pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::clear ( )
inline

◆ get()

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
SampleType pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::get ( std::size_t destination) const
inline

◆ process()

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
void pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::process ( )
inline

◆ reset()

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
void pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::reset ( )
inline

◆ route_count()

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
std::size_t pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::route_count ( ) const
inline

◆ set_source()

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
void pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::set_source ( std::size_t source,
SampleType value )
inline

◆ source()

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
SampleType pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::source ( std::size_t index) const
inline

◆ worst_case_for()

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
SampleType pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::worst_case_for ( std::size_t destination) const
inline

Member Data Documentation

◆ kMaxRoutes

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
std::size_t pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::kMaxRoutes = NumSources * NumDestinations
staticconstexpr

◆ num_destinations

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
std::size_t pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::num_destinations = NumDestinations
staticconstexpr

◆ num_sources

template<std::size_t NumSources, std::size_t NumDestinations, typename SampleType = float>
std::size_t pulp::signal::DenseModMatrixT< NumSources, NumDestinations, SampleType >::num_sources = NumSources
staticconstexpr

The documentation for this class was generated from the following file:
  • /home/runner/work/pulp/pulp/core/signal/include/pulp/signal/mod_matrix.hpp