Skip to content

class convolve_filter<T> convolution

template <typename T>
class convolve_filter : public filter<T> { … }

Convolution using Filter API

constructor convolve_filter<T>(size_t, size_t)

explicit convolve_filter(size_t size, size_t block_size = 1024)

Defined at dft/convolution.hpp:103

constructor convolve_filter<T>(const univector_ref<const T> &, size_t)

explicit convolve_filter(const univector_ref<const T>& data, size_t block_size = 1024)

Defined at dft/convolution.hpp:104

function set_data(const univector_ref<const T> &)

void set_data(const univector_ref<const T>& data)

Defined at dft/convolution.hpp:105

function reset()

void reset() final

Defined at dft/convolution.hpp:106

function input_block_size()

size_t input_block_size() const

Apply filter to multiples of returned block size for optimal processing efficiency.

Defined at dft/convolution.hpp:108

function process_expression(T *, const expression_handle<T> &, size_t)

void process_expression(T* dest, const expression_handle<T>& src, size_t size) final

Defined at dft/convolution.hpp:111

function process_buffer(T *, const T *, size_t)

void process_buffer(T* output, const T* input, size_t size) final

Defined at dft/convolution.hpp:116

typedef ST

using ST                       = subtype<T>

Defined at dft/convolution.hpp:118

variable real_fft

constexpr static bool real_fft = !std::is_same_v<T, complex<ST>>

Defined at dft/convolution.hpp:119

typedef plan_t

using plan_t                   = internal_generic::dft_conv_plan<T>

Defined at dft/convolution.hpp:120

variable data_size

size_t data_size

Defined at dft/convolution.hpp:123

variable block_size

const size_t block_size

Defined at dft/convolution.hpp:125

variable fft

const plan_t fft

Defined at dft/convolution.hpp:127

variable temp

univector<u8> temp

Defined at dft/convolution.hpp:129

variable segments

std::vector<univector<complex<ST>>> segments

Defined at dft/convolution.hpp:131

variable position

size_t position

Defined at dft/convolution.hpp:133

variable ir_segments

std::vector<univector<complex<ST>>> ir_segments

Defined at dft/convolution.hpp:135

variable saved_input

univector<T> saved_input

Defined at dft/convolution.hpp:137

variable input_position

size_t input_position

Defined at dft/convolution.hpp:139

variable premul

univector<complex<ST>> premul

Defined at dft/convolution.hpp:141

variable cscratch

univector<complex<ST>> cscratch

Defined at dft/convolution.hpp:143

variable scratch1

univector<T> scratch1

Defined at dft/convolution.hpp:145

variable scratch2

univector<T> scratch1, scratch2

Defined at dft/convolution.hpp:145

variable overlap

univector<T> overlap

Defined at dft/convolution.hpp:147

Defined at dft/convolution.hpp:100