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 3ec664d5970c48a2387630dafe68c90c117f0a3b
parent e865dc21a3e2792a94f3b2dcdf214070b0b8964c
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date:   Wed, 11 Oct 2023 21:18:41 +0100

Remove is_pod_like

Diffstat:
Minclude/kfr/base/univector.hpp | 1-
Minclude/kfr/cometa.hpp | 14--------------
Minclude/kfr/dsp/biquad.hpp | 1-
Minclude/kfr/simd/complex_type.hpp | 1-
4 files changed, 0 insertions(+), 17 deletions(-)

diff --git a/include/kfr/base/univector.hpp b/include/kfr/base/univector.hpp @@ -324,7 +324,6 @@ struct alignas(platform<>::maximum_vector_alignment) univector constexpr static bool is_array_ref = false; constexpr static bool is_vector = false; constexpr static bool is_aligned = true; - constexpr static bool is_pod_like = kfr::is_pod_like<T>; using value_type = T; value_type get(size_t index, value_type fallback_value) const CMT_NOEXCEPT diff --git a/include/kfr/cometa.hpp b/include/kfr/cometa.hpp @@ -68,17 +68,6 @@ constexpr CMT_INTRINSIC bool args_and(bool x, Ts... rest) return x && args_and(rest...); } -template <typename T, typename Enable = void> -struct is_pod_like_impl : std::false_type -{ -}; - -template <typename T> -struct is_pod_like_impl<T, std::void_t<decltype(T::is_pod_like)>> - : std::integral_constant<bool, T::is_pod_like> -{ -}; - template <typename... Ts> struct or_t_impl : std::false_type { @@ -192,9 +181,6 @@ using decay = typename std::decay<T>::type; template <typename T1, typename T2> using or_type = std::conditional_t<std::is_same_v<T1, void>, T2, T1>; -template <typename T> -constexpr inline bool is_pod_like = std::is_pod_v<T> || details::is_pod_like_impl<T>::value; - template <typename T1, typename T2 = void, typename... Ts> constexpr size_t typeindex() { diff --git a/include/kfr/dsp/biquad.hpp b/include/kfr/dsp/biquad.hpp @@ -62,7 +62,6 @@ struct biquad_params b2(static_cast<T>(bq.b2)) { } - constexpr static bool is_pod_like = true; static_assert(std::is_floating_point_v<T>, "T must be a floating point type"); constexpr biquad_params() CMT_NOEXCEPT : a0(1), a1(0), a2(0), b0(1), b1(0), b2(0) {} diff --git a/include/kfr/simd/complex_type.hpp b/include/kfr/simd/complex_type.hpp @@ -50,7 +50,6 @@ template <typename T> struct complex { static_assert(is_simd_type<T>, "Incorrect type for complex"); - constexpr static bool is_pod_like = true; constexpr complex() CMT_NOEXCEPT = default; KFR_MEM_INTRINSIC constexpr complex(T re) CMT_NOEXCEPT : re(re), im(0) {} KFR_MEM_INTRINSIC constexpr complex(T re, T im) CMT_NOEXCEPT : re(re), im(im) {}