Class IFilter

Inheritance Relationships

Derived Types

Class Documentation

class IFilter

Subclassed by dsp::filter::BiquadFilter, dsp::filter::FirFilter

Public Functions

inline IFilter(std::string description)
virtual ~IFilter()
std::string description() const
virtual IFilter *clone() = 0
virtual unsigned int order() const = 0
unsigned int nchannels() const
bool realized() const
void realize(unsigned int nchannels, double init = 0.0)
void unrealize()
virtual double process_channel(double, unsigned int channel) = 0
virtual void process_sample(std::vector<double>&, std::vector<double>&) = 0
virtual void process_sample(std::vector<double>::iterator, std::vector<double>::iterator) = 0
virtual void process_sample(double*, double*) = 0
virtual void process_channel(std::vector<double>&, std::vector<double>&, unsigned int channel = 0) = 0
virtual void process_channel(uint64_t nsamples, std::vector<double>::iterator, std::vector<double>::iterator, unsigned int channel = 0) = 0
virtual void process_channel(uint64_t nsamples, double*, double*, unsigned int channel) = 0
virtual void process_by_channel(std::vector<std::vector<double>>&, std::vector<std::vector<double>>&) = 0
virtual void process_by_sample(std::vector<std::vector<double>>&, std::vector<std::vector<double>>&) = 0
virtual void process_by_channel(uint64_t nsamples, double**, double**) = 0
virtual void process_by_sample(uint64_t nsamples, double**, double**) = 0
virtual void process_by_channel(uint64_t nsamples, std::vector<double>&, std::vector<double>&) = 0
virtual void process_by_sample(uint64_t nsamples, std::vector<double>&, std::vector<double>&) = 0

Protected Functions

virtual bool realize_filter(unsigned int nchannels, double init) = 0
inline virtual void unrealize_filter()

Protected Attributes

std::string description_
bool realized_ = false
unsigned int nchannels_ = 0