kfr

Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON)
Log | Files | Refs | README

commit 790613537488483c1d2ec3ba6834066fd301a4e3
parent 5642058716eb37a920c182d3278bd3722df351da
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date:   Thu, 11 Aug 2016 08:23:15 +0300

fir_design.hpp: functions now can take univector_ref

Diffstat:
Minclude/kfr/dsp/fir_design.hpp | 25+++++++++++++++++++++++++
1 file changed, 25 insertions(+), 0 deletions(-)

diff --git a/include/kfr/dsp/fir_design.hpp b/include/kfr/dsp/fir_design.hpp @@ -143,4 +143,29 @@ CMT_INLINE void fir_bandstop(univector<T, Tag>& taps, identity<T> frequency1, id { return intrinsics::fir_bandstop(taps.slice(), frequency1, frequency2, window, normalize); } + +template <typename T> +CMT_INLINE void fir_lowpass(const univector_ref<T>& taps, identity<T> cutoff, + const expression_pointer<T>& window, bool normalize = true) +{ + return intrinsics::fir_lowpass(taps, cutoff, window, normalize); +} +template <typename T> +CMT_INLINE void fir_highpass(const univector_ref<T>& taps, identity<T> cutoff, + const expression_pointer<T>& window, bool normalize = true) +{ + return intrinsics::fir_highpass(taps, cutoff, window, normalize); +} +template <typename T> +CMT_INLINE void fir_bandpass(const univector_ref<T>& taps, identity<T> frequency1, identity<T> frequency2, + const expression_pointer<T>& window, bool normalize = true) +{ + return intrinsics::fir_bandpass(taps, frequency1, frequency2, window, normalize); +} +template <typename T> +CMT_INLINE void fir_bandstop(const univector_ref<T>& taps, identity<T> frequency1, identity<T> frequency2, + const expression_pointer<T>& window, bool normalize = true) +{ + return intrinsics::fir_bandstop(taps, frequency1, frequency2, window, normalize); +} }