common index increment style in bw_src
This commit is contained in:
parent
3a44034694
commit
20437e0a23
@ -150,20 +150,20 @@ static inline void bw_src_process(const bw_src_coeffs *BW_RESTRICT coeffs, bw_sr
|
||||
// DF-II
|
||||
const float z0 = x[i] - coeffs->a1 * state->z1 - coeffs->a2 * state->z2 - coeffs->a3 * state->z3 - coeffs->a4 * state->z4;
|
||||
const float o = coeffs->b0 * z0 + coeffs->b1 * state->z1 + coeffs->b2 * state->z2 + coeffs->b3 * state->z3 + coeffs->b4 * state->z4;
|
||||
if (state->i <= 0.f) {
|
||||
if (state->i >= 0.f) {
|
||||
// 3rd degree Lagrange interpolation + Horner's rule
|
||||
const float k1 = state->xz2 - state->xz1;
|
||||
const float k2 = 0.333333333333333f * (o - state->xz3);
|
||||
const float k3 = o + k1;
|
||||
const float k1 = state->xz1 - state->xz2;
|
||||
const float k2 = 0.333333333333333f * (state->xz3 - o);
|
||||
const float k3 = o - k1;
|
||||
const float k4 = k3 - state->xz1;
|
||||
const float a = k4 + 0.5f * k4 + k2;
|
||||
const float b = k3 + k1 - 0.5f * (state->xz1 + state->xz3);
|
||||
const float a = k2 - k4 - 0.5f * k4;
|
||||
const float b = k3 - k1 - 0.5f * (state->xz1 + state->xz3);
|
||||
const float c = 0.5f * (k1 + k2);
|
||||
y[j] = o + state->i * (a + state->i * (b + state->i * c));
|
||||
state->i -= coeffs->k;
|
||||
state->i += coeffs->k;
|
||||
j++;
|
||||
}
|
||||
state->i -= 1.f;
|
||||
state->i += 1.f;
|
||||
state->z4 = state->z3;
|
||||
state->z3 = state->z2;
|
||||
state->z2 = state->z1;
|
||||
@ -181,7 +181,7 @@ static inline void bw_src_process(const bw_src_coeffs *BW_RESTRICT coeffs, bw_sr
|
||||
const float k2 = 0.333333333333333f * (x[i] - state->xz3);
|
||||
const float k3 = state->xz3 - k1;
|
||||
const float k4 = state->xz2 - k3;
|
||||
const float a = k4 + 0.5f * k4 + k2;
|
||||
const float a = k2 + k4 + 0.5f;
|
||||
const float b = k3 - k1 - 0.5f * (x[i] + state->xz2);
|
||||
const float c = 0.5f * (k1 + k2);
|
||||
const float o = state->xz3 + state->i * (a + state->i * (b + state->i * c));
|
||||
|
Loading…
Reference in New Issue
Block a user