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 d63a6f0159fce2d077b1ec9cd39356a8ec3f63d6
parent 1b78ef971a159efe80cadea809f3e943a153b695
Author: [email protected] <[email protected]>
Date:   Mon,  2 Dec 2019 20:47:32 +0000

Remove KFR_ARCH_DEP

Diffstat:
Minclude/kfr/base/generators.hpp | 8++++----
Minclude/kfr/base/reduce.hpp | 2+-
Minclude/kfr/dsp/biquad.hpp | 8++++----
Minclude/kfr/dsp/fir.hpp | 4++--
Minclude/kfr/dsp/goertzel.hpp | 2+-
Minclude/kfr/dsp/sample_rate_conversion.hpp | 2+-
Minclude/kfr/simd/platform.hpp | 2--
Minclude/kfr/simd/vec.hpp | 2+-
8 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/include/kfr/base/generators.hpp b/include/kfr/base/generators.hpp @@ -115,7 +115,7 @@ protected: T vstep; }; -template <typename T, size_t width = vector_width<T>* bitness_const(1, 2), KFR_ARCH_DEP> +template <typename T, size_t width = vector_width<T>* bitness_const(1, 2)> struct generator_exp : generator<T, width, generator_exp<T, width>> { generator_exp(T start, T step) CMT_NOEXCEPT : step(step), vstep(exp(make_vector(step* width))[0] - 1) @@ -135,7 +135,7 @@ protected: T vstep; }; -template <typename T, size_t width = vector_width<T>* bitness_const(1, 2), KFR_ARCH_DEP> +template <typename T, size_t width = vector_width<T>* bitness_const(1, 2)> struct generator_exp2 : generator<T, width, generator_exp2<T, width>> { generator_exp2(T start, T step) CMT_NOEXCEPT : step(step), vstep(exp2(make_vector(step* width))[0] - 1) @@ -155,7 +155,7 @@ protected: T vstep; }; -template <typename T, size_t width = vector_width<T>* bitness_const(1, 2), KFR_ARCH_DEP> +template <typename T, size_t width = vector_width<T>* bitness_const(1, 2)> struct generator_cossin : generator<T, width, generator_cossin<T, width>> { generator_cossin(T start, T step) @@ -180,7 +180,7 @@ protected: } }; -template <typename T, size_t width = vector_width<T>* bitness_const(2, 4), KFR_ARCH_DEP> +template <typename T, size_t width = vector_width<T>* bitness_const(2, 4)> struct generator_sin : generator<T, width, generator_sin<T, width>> { generator_sin(T start, T step) diff --git a/include/kfr/base/reduce.hpp b/include/kfr/base/reduce.hpp @@ -65,7 +65,7 @@ KFR_INTRINSIC auto reduce_call_final(FinalFn&& finalfn, size_t, T value) } template <typename Tout, typename Twork, typename Tin, typename ReduceFn, typename TransformFn, - typename FinalFn, KFR_ARCH_DEP> + typename FinalFn> struct expression_reduce : output_expression { constexpr static size_t width = vector_width<Tin> * bitness_const(1, 2); diff --git a/include/kfr/dsp/biquad.hpp b/include/kfr/dsp/biquad.hpp @@ -95,7 +95,7 @@ inline namespace CMT_ARCH_NAME namespace internal { -template <typename T, size_t filters, KFR_ARCH_DEP> +template <typename T, size_t filters> struct biquad_state { vec<T, filters> s1; @@ -104,7 +104,7 @@ struct biquad_state constexpr biquad_state() CMT_NOEXCEPT : s1(0), s2(0), out(0) {} }; -template <typename T, size_t filters, KFR_ARCH_DEP> +template <typename T, size_t filters> struct biquad_block { vec<T, filters> a1; @@ -142,7 +142,7 @@ struct biquad_block } }; -template <size_t filters, typename T, typename E1, KFR_ARCH_DEP> +template <size_t filters, typename T, typename E1> struct expression_biquads_l : public expression_with_arguments<E1> { using value_type = T; @@ -180,7 +180,7 @@ struct expression_biquads_l : public expression_with_arguments<E1> mutable biquad_state<T, filters> state; }; -template <size_t filters, typename T, typename E1, KFR_ARCH_DEP> +template <size_t filters, typename T, typename E1> struct expression_biquads : expression_with_arguments<E1> { using value_type = T; diff --git a/include/kfr/dsp/fir.hpp b/include/kfr/dsp/fir.hpp @@ -93,7 +93,7 @@ struct state_holder<T, true> const T& s; }; -template <size_t tapcount, typename T, typename U, typename E1, bool stateless = false, KFR_ARCH_DEP> +template <size_t tapcount, typename T, typename U, typename E1, bool stateless = false> struct expression_short_fir : expression_with_arguments<E1> { using value_type = U; @@ -121,7 +121,7 @@ struct expression_short_fir : expression_with_arguments<E1> state_holder<short_fir_state<tapcount, T, U>, stateless> state; }; -template <typename T, typename U, typename E1, bool stateless = false, KFR_ARCH_DEP> +template <typename T, typename U, typename E1, bool stateless = false> struct expression_fir : expression_with_arguments<E1> { using value_type = U; diff --git a/include/kfr/dsp/goertzel.hpp b/include/kfr/dsp/goertzel.hpp @@ -38,7 +38,7 @@ inline namespace CMT_ARCH_NAME namespace internal { -template <typename T, KFR_ARCH_DEP> +template <typename T> struct expression_goertzel : output_expression { expression_goertzel(complex<T>& result, T omega) diff --git a/include/kfr/dsp/sample_rate_conversion.hpp b/include/kfr/dsp/sample_rate_conversion.hpp @@ -49,7 +49,7 @@ inline namespace CMT_ARCH_NAME using resample_quality = sample_rate_conversion_quality; /// @brief Sample Rate converter -template <typename T, KFR_ARCH_DEP> +template <typename T> struct samplerate_converter { using itype = i64; diff --git a/include/kfr/simd/platform.hpp b/include/kfr/simd/platform.hpp @@ -66,8 +66,6 @@ enum class cpu_t : int runtime = -1, }; -#define KFR_ARCH_DEP cpu_t cpu = cpu_t::native - template <cpu_t cpu> using ccpu_t = cval_t<cpu_t, cpu>; diff --git a/include/kfr/simd/vec.hpp b/include/kfr/simd/vec.hpp @@ -239,7 +239,7 @@ struct alignas(force_compiletime_size_t< // from list template <typename... Us, KFR_ENABLE_IF(sizeof...(Us) <= 1022 && compound_type_traits<T>::is_scalar)> KFR_MEM_INTRINSIC vec(const value_type& s0, const value_type& s1, const Us&... rest) CMT_NOEXCEPT - : v(intrinsics::simd_make(ctype<T>, s0, s1, static_cast<value_type>(rest)...)) + : v(intrinsics::simd_make(cometa::ctype<T>, s0, s1, static_cast<value_type>(rest)...)) { }