commit 5c37b7b76602b59c7c5b4891d3689aeb3a952ac7
parent 205ce82709804988f71da05ee189a2d35ee20e98
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date: Tue, 7 May 2024 09:13:01 +0100
Fix Stateless parameter
Diffstat:
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/include/kfr/dsp/biquad.hpp b/include/kfr/dsp/biquad.hpp
@@ -292,20 +292,20 @@ KFR_INTRINSIC vec<T, N> biquad_process(iir_state<T, filters>& state, const vec<T
}
} // namespace internal
-template <size_t filters, typename T, typename E1, size_t N>
-KFR_INTRINSIC vec<T, N> get_elements(const expression_iir_l<filters, T, E1>& self, shape<1> index,
+template <size_t filters, typename T, typename E1, bool Stateless, size_t N>
+KFR_INTRINSIC vec<T, N> get_elements(const expression_iir_l<filters, T, E1, Stateless>& self, shape<1> index,
axis_params<0, N> t)
{
const vec<T, N> in = get_elements(self.first(), index, t);
return internal::biquad_process(*self.state, in);
}
-template <typename T, typename E1>
-KFR_INTRINSIC void begin_pass(const expression_iir<1, T, E1>&, shape<1>, shape<1>)
+template <typename T, typename E1, bool Stateless>
+KFR_INTRINSIC void begin_pass(const expression_iir<1, T, E1, Stateless>&, shape<1>, shape<1>)
{
}
-template <size_t filters, typename T, typename E1>
-KFR_INTRINSIC void begin_pass(const expression_iir<filters, T, E1>& self, shape<1> start, shape<1> stop)
+template <size_t filters, typename T, typename E1, bool Stateless>
+KFR_INTRINSIC void begin_pass(const expression_iir<filters, T, E1, Stateless>& self, shape<1> start, shape<1> stop)
{
size_t size = stop.front();
self.state->block_end = size;
@@ -317,26 +317,26 @@ KFR_INTRINSIC void begin_pass(const expression_iir<filters, T, E1>& self, shape<
internal::biquad_process(*self.state, in);
}
-template <typename T, typename E1>
-KFR_INTRINSIC void end_pass(const expression_iir<1, T, E1>&, shape<1>, shape<1>)
+template <typename T, typename E1, bool Stateless>
+KFR_INTRINSIC void end_pass(const expression_iir<1, T, E1, Stateless>&, shape<1>, shape<1>)
{
}
-template <size_t filters, typename T, typename E1>
-KFR_INTRINSIC void end_pass(const expression_iir<filters, T, E1>& self, shape<1> start, shape<1> stop)
+template <size_t filters, typename T, typename E1, bool Stateless>
+KFR_INTRINSIC void end_pass(const expression_iir<filters, T, E1, Stateless>& self, shape<1> start, shape<1> stop)
{
self.state->state = self.state->saved_state;
}
-template <typename T, typename E1, size_t N>
-KFR_INTRINSIC vec<T, N> get_elements(const expression_iir<1, T, E1>& self, shape<1> index,
+template <typename T, typename E1, bool Stateless, size_t N>
+KFR_INTRINSIC vec<T, N> get_elements(const expression_iir<1, T, E1, Stateless>& self, shape<1> index,
axis_params<0, N> t)
{
const vec<T, N> in = get_elements(self.first(), index, t);
return internal::biquad_process(*self.state, in);
}
-template <size_t filters, typename T, typename E1, size_t N>
-KFR_INTRINSIC vec<T, N> get_elements(const expression_iir<filters, T, E1>& self, shape<1> index,
+template <size_t filters, typename T, typename E1, bool Stateless, size_t N>
+KFR_INTRINSIC vec<T, N> get_elements(const expression_iir<filters, T, E1, Stateless>& self, shape<1> index,
axis_params<0, N> t)
{
using internal::biquad_process;