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 df316824aebe3d5e00553039a0837464dee4eb2a
parent 6a18c530668c18fdea9eba3156e4e6c091d63c70
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date:   Tue,  2 Aug 2022 17:18:01 +0100

Move KFR_COMPONENTWISE_RET to simd.hpp

Diffstat:
Minclude/kfr/simd/impl/backend_generic.hpp | 16----------------
Minclude/kfr/simd/impl/simd.hpp | 17+++++++++++++++++
2 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/include/kfr/simd/impl/backend_generic.hpp b/include/kfr/simd/impl/backend_generic.hpp @@ -1071,22 +1071,6 @@ KFR_INTRINSIC simd<T, N> from_simd_array(const simd_array<T, N>& x) CMT_NOEXCEPT #endif -#define KFR_COMPONENTWISE_RET(code) \ - vec<T, N> result; \ - for (size_t i = 0; i < N; i++) \ - code; \ - return result; - -#define KFR_COMPONENTWISE_RET_I(Tvec, code) \ - Tvec result; \ - for (size_t i = 0; i < result.size(); i++) \ - code; \ - return result; - -#define KFR_COMPONENTWISE(code) \ - for (size_t i = 0; i < N; i++) \ - code; - template <typename Tout> KFR_INTRINSIC void simd_make(ctype_t<Tout>) CMT_NOEXCEPT = delete; diff --git a/include/kfr/simd/impl/simd.hpp b/include/kfr/simd/impl/simd.hpp @@ -118,4 +118,21 @@ struct simd_halves } // namespace intrinsics } // namespace CMT_ARCH_NAME + +#define KFR_COMPONENTWISE_RET(code) \ + vec<T, N> result; \ + for (size_t i = 0; i < N; i++) \ + code; \ + return result; + +#define KFR_COMPONENTWISE_RET_I(Tvec, code) \ + Tvec result; \ + for (size_t i = 0; i < result.size(); i++) \ + code; \ + return result; + +#define KFR_COMPONENTWISE(code) \ + for (size_t i = 0; i < N; i++) \ + code; + } // namespace kfr