18 static unsigned int constexpr kNumFilters = 4;
26 std::array<BiquadCoeffT<float>, kNumFilters>
filters;
38 if(
size_t(
this) &
size_t(
alignof(
QuadBiquad) - 1))
40 fprintf(stderr,
"QuadBiquad object is improperly aligned. Avoid heap allocation, use operator new or use -std=c++17\n");
49 void*
operator new(
size_t sz) {
50 auto ptr = aligned_alloc(
alignof(
QuadBiquad), sz);
83 float32x4_t in = vld1q_f32(data);
93 float32x4_t out = vmlaq_f32(z1, in, a0);
95 z1 = vmlaq_f32(z2, in, a1);
97 z2 = vmulq_f32(in, a2);
101 z1 = vmlaq_f32(z1, b1, out);
103 z2 = vmlaq_f32(z2, b2, out);
int setup(const BiquadCoeff::Settings &settings)
Definition: Biquad.cpp:122
void update()
Definition: Biquad.cpp:132
QuadBiquad()
Definition: QuadBiquad.h:36
Definition: QuadBiquad.h:15
void process(float data[kNumFilters])
Definition: QuadBiquad.h:79
std::array< BiquadCoeffT< float >, kNumFilters > filters
Definition: QuadBiquad.h:26